Язык программирования C#9 и платформа .NET5
for(int j = 0; j < myJagArray[i].Length; j++){Console.Write(myJagArray[i][j] + " ");}Console.WriteLine();}Console.WriteLine();}Ниже показан вывод, полученный в результате вызова методов
иRectMultidimensionalArray():JaggedMultidimensionalArray()=> Rectangular multidimensional array:0 0 0 00 1 2 30 2 4 6=> Jagged multidimensional array:0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0Использование массивов в качестве аргументов и возвращаемых значений
После создания массив можно передавать как аргумент или получать его в виде возвращаемого значения. Например, приведенный ниже метод
принимает входной массив значенийPrintArray()и выводит все его элементы на консоль, а методintзаполняет массив значенийGetStringArray()и возвращает его вызывающему коду:stringstatic void PrintArray(int[] myInts){for(int i = 0; i < myInts.Length; i++){Console.WriteLine("Item {0} is {1}", i, myInts[i]);}}static string[] GetStringArray(){string[] theStrings = {"Hello", "from", "GetStringArray"};return theStrings;}Указанные методы вызываются вполне ожидаемо:
static void PassAndReceiveArrays(){Console.WriteLine("=> Arrays as params and return values.");// Передать массив в качестве параметра.int[] ages = {20, 22, 23, 0} ;PrintArray(ages);// Получить массив как возвращаемое значение.string[] strs = GetStringArray();foreach(string s in strs){Console.WriteLine(s);}Console.WriteLine();}К настоящему моменту вы должны освоить процесс определения, заполнения и исследования содержимого переменной типа массива С#. Для полноты картины давайте проанализируем роль класса
.System.ArrayИспользование базового класса System.Array
Каждый создаваемый массив получает значительную часть своей функциональности от класса
. Общие члены этого класса позволяют работать с массивом, применяя согласованную объектную модель. В табл. 4.1 приведено краткое описание наиболее интересных членов классаSystem.Array(полное описание всех его членов можно найти в документации).System.ArrayДавайте посмотрим на некоторые из членов в действии. Показанный далее вспомогательный метод использует статические методы
иReverse()для вывода на консоль информации о массиве строковых типов:Clear()static void SystemArrayFunctionality(){Console.WriteLine("=> Working with System.Array.");// Инициализировать элементы при запуске.string[] gothicBands = {"Tones on Tail", "Bauhaus", "Sisters of Mercy"};// Вывести имена в порядке их объявления.Console.WriteLine("-> Here is the array:");for (int i = 0; i < gothicBands.Length; i++){// Вывести имя.Console.Write(gothicBands[i] + ", ");}Console.WriteLine("\n");// Обратить порядок следования элементов...Array.Reverse(gothicBands);Console.WriteLine("-> The reversed array");// ...и вывести их.for (int i = 0; i < gothicBands.Length; i++){// Вывести имя.Console.Write(gothicBands[i] + ", ");}Console.WriteLine("\n");// Удалить все элементы кроме первого.Console.WriteLine("-> Cleared out all but one...");Array.Clear(gothicBands, 1, 2);for (int i = 0; i < gothicBands.Length; i++)
