Здравствуйте, _FRED_, Вы писали:
_FR>Ответы специалистов, кстати, в первом же результате поиска
Косяк дизайна языка я считаю. Надо было потребовать писать params, если программист хочет передать все параметры одним массивом:
object[] x = new object[] { "fred", "he", "is", "not", "null" };
foo(params x) // ps: x (5 параметров-строк)
foo(x) // ps: object[] { x } (один параметр-массив)
Как в Python:
def foo(*ps):
print(len(ps), len(ps[0]) if len(ps) > 0 else '*')
x = ["fred", "he", "is", "not", "null"]
foo(x, x, x) # 3 5
foo(x, x) # 2 5
foo(x) # 1 5
foo() # 0 *
foo(*x) # 5 4