Вы можете использовать ключевое слово params
, чтобы разрешить переменное число аргументов:
public static void PrintStrings(params string[] messages )
{
foreach ( String message in messages )
{
Console.WriteLine( message );
}
//Do other things
}
Теперь вы можете передать либо массив string
с, либо один string
, либо даже несколько string
с:
PrintStrings("hi");
PrintStrings("hi", "there");
PrintStrings(stringList.ToArray());
Обратите внимание, что это становится менее эффективным, если у вас уже есть List<string>
. Однако лучший способ обойти это - просто создать перегрузку, которая принимает один string
и работает с ним соответственно:
public static void PrintStrings(string myString) { ... }
Наконец, если вы хотите сохранить свою текущую подпись и не добавлять перегрузку, вы можете вызвать метод для нового List<string>
, например, так:
PrintStrings(new List<string>() { myString });