У меня есть метод, который использует ключевое слово params
, например:
private void ParamsMethod(params string[] args)
{
// Etc...
}
Затем я вызываю метод, используя различные комбинации аргументов:
// Within the method, args is...
ParamsMethod(); // - a string array with no elements
ParamsMethod(null); // - null (Why is this?)
ParamsMethod((string)null); // - a string array with one element: null
ParamsMethod(null, null); // - a string array with two elements: null and null
ParamsMethod("s1"); // - a string array with one element: "s1"
ParamsMethod("s1", "s2"); // - a string array with two elements: "s1" and "s2"
Я понимаю все случаи, кроме второго. Может кто-нибудь объяснить, почему ParamsMethod(null)
заставляет args
быть null
вместо массива с одним нулевым элементом?