Да. Классическим примером будет params object[] args
:
//Allows to pass in any number and types of parameters
public static void Program(params object[] args)
Типичным вариантом использования будет передача параметров в среде командной строки программе, где вы передаете их в виде строк. Затем программа должна их проверить и правильно назначить.
Ограничения:
- Для каждого метода разрешено только одно ключевое слово
params
.
- Это должен быть последний параметр.
РЕДАКТИРОВАТЬ: После того, как я прочитал ваши правки, я сделал свои. В приведенной ниже части также рассматриваются методы для достижения переменного количества аргументов, но я думаю, что вы действительно искали params
способ.
Также один из наиболее классических методов называется перегрузка методов. Вы, вероятно, уже использовали их много раз:
//both methods have the same name and depending on wether you pass in a parameter
//or not, the first or the second is used.
public static void SayHello() {
Console.WriteLine("Hello");
}
public static void SayHello(string message) {
Console.WriteLine(message);
}
И последнее, но не менее важное: Необязательные аргументы.
//this time we specify a default value for the parameter message
//you now can call both, the method with parameter and the method without.
public static void SayHello(string message = "Hello") {
Console.WriteLine(message);
}
http://msdn.microsoft.com/en-us/library/dd264739.aspx
person
hotS85
schedule
02.03.2012