На этом шаге мы рассмотрим различные конструкции, используемые для инициализации массива.
В рассмотренных в предыдущих шагах примерах мы сначала создавали массив, а затем его заполняли. При заполнении массивов у нас был определенный алгоритм, в соответствии с которым элементам присваивались значения. Например, массив можно заполнять нечетными числами, или случайными числами, или числами Фибоначчи. Но бывают ситуации, когда такой закономерности попросту нет. Элементам массива нужно присвоить значения, и эти значения нельзя (или нет смысла) записывать в виде формулы. Проще говоря, очень часто принципиально невозможно заполнить массив с использованием оператора цикла. Нужно каждому элементу присваивать значение "в индивидуальном порядке". Это очень неудобно, особенно если массив большой. В таких случаях удобно выполнять явную инициализацию массива. Делается все достаточно просто: при объявлении переменной массива ей присваивается список со значениями, которые формируют массив. Значения в списке заключаются в фигурные скобки. Внутри скобок значения разделяются запятыми. Например, если мы воспользуемся командой
int[] nums= {1,3,5}; ,
int[] nums= {1,3,5}; ,
int[] nums = new int [3] {1,3,5};
int[] nums = new int [] {1,3,5}; .
Небольшой пример с инициализацией различных массивов приведен в программе, текст которой представлен ниже.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace pr51_1 { class Program { static void Main() { // Создание и инициализация массивов: int[] nums = {1, 3, 5, 7, 6, 5, 4}; char[] symbs = new char[]{'A', 'Z', 'B', 'Y'}; string[] txts = new string[3]{"один", "два", "три"}; // Отображение содержимого массивов: Console.WriteLine("Массив nums:"); for(int k = 0; k < nums.Length; k++){ Console.Write(nums[k]+" "); } Console.WriteLine("\nМассив symbs:"); for(int k = 0; k < symbs.Length; k++) { Console.Write(symbs[k]+" "); } Console.WriteLine("\nМассив txts:"); for(int k = 0; k < txts.Length; k++){ Console.Write(txts[k]+" "); } Console.WriteLine(); // Задержка: Console.ReadLine(); } } }
Результат выполнения программы приведен на рисунке 1.
Рис.1. Результат работы приложения
В данном случае программный код очень прост. В нем последовательно создается и инициализируется три массива:
На следующем шаге мы рассмотрим операции с массивами.