В качестве параметра методу всегда можно передать ссылку на ОДНОМЕРНЫЙ массив. Массив, первая спецификация размерности которого в объявлении имеет вид …[] …
Тип и количество составляющих данный массив компонентов для механизма передачи параметров значения не имеют. Важно, что в стеке будет выделено определённое (соответствующее значению первой размерности) количество проинициализированных ссылок на составляющие данный одномерный массив элементов.
Этот принцип действует во всех случаях. В том числе и при вызове приложения из командной строки.
Вызов приложения из командной строки с передачей ему в качестве параметров массива ОДНОТИПНЫХ (строковых) значений.
using System;
class C1
{
static void Main(string[] args)
{
Console.WriteLine(“Values of parameters:”);
for (int i = 0; I < args.Length; i++)
{
Console.WriteLine(“{0}: {1}”, i, args[i]);
}
}
}
Сначала создаётся консольное приложение (пусть под именем ComLine, в файле ComLine.cs).
Транслятор можно запустить из командной строки, выглядит это примерно так:
C:> csc /t:exe ConLine.cs
Результат деятельности транслятора размещается в .exe файле под именем ConLine.exe и также может быть запущен из командной строки с передачей строк символов в качестве входных параметров.
C:>ConLine qwerty asdfgh zxcvbn ok ok ok-k
В окне консольного приложения отобразится следующее множество строк:
Values of parameters:
0: qwerty
1: asdfgh
2: zxcvbn
3: ok
4: ok
5: ok-k
А теперь с использованием оператора foreach:
using System;
class C1
{
static void Main(string[] args)
{
Console.WriteLine(“Values of parameters, using foreach:”);
foreach (string arg in args)
{
Console.WriteLine(“{0}”, arg);
}
}
}
Запускаем:
C:>ConLine qwerty asdfgh zxcvbn ok ok ok-k
Получаем:
Values of parameters, using foreach:
qwerty
asdfgh
zxcvbn
ok
ok
ok-k
Полностью построенный массив можно передать в качестве входного параметра методу.
Пустая ссылка на массив может быть передана методу в качестве выходного параметра.
Например:
int[] myArray; // myArray == null
PrintArray(myArray);
Можно также совместить передачу массива как параметра методу с предварительной инициализацией этого массива. Например:
PrintArray(new int[] {1, 3, 5, 7, 9});
In the following example, a string array is initialized and passed as a parameter to the PrintArray method, where its elements are displayed: