В данном случае <базовыйТип> может быть произвольным типом, в том числе перечислимым или структурой. Прежде чем получить доступ к массиву, его необходимо инициализировать. Но получить доступ или присвоить значение элементу массива следующим образом нельзя:
int[] myIntArray;
myIntArray[10] = 5;
Массивы могут быть инициализированы двумя способами. Мы можем либо задать полное содержимое массива в литеральной форме, либо указать размер массива и использовать для инициализации всех его элементов ключевое слово new (НОВЫЙ). Определение значений элементов массива в литеральной форме предполагает задание списка значений, разделенных запятыми и заключенных в фигурные скобки. Например:
int [ ] myIntArrray = {5, 9, 10, 2, 99};
В данном случае описывается массив, состоящий их пяти элементов, и всем им присваивается целое значение.
Второй способ предполагает использование следующего синтаксиса:
int [ ] myIntArray = new int [ 5 ] ;
Здесь используется ключевое слово new для явной инициализации массива и константа для определения его размера. При этом методе всем вхождениям массива будет присвоено значение по умолчанию, которое для численных типов равно 0. Для инициализации массивов вместо констант с тем же успехом можно использовать переменные, например:
int[] myIntArray = new int [размерМассива] ;
При желании можно одновременно использовать оба метода:
int [ ] myIntArray = new int [5] {5, 9, 10, 2 , 99};
В этом случае размеры массива должны совпадать с количеством элементов в списке. Следующая запись является недопустимой:
int [ ] my IntArray | new int [ 1 0 ] { 5 , 9 , 1 0 , 2 , 9 9 } ;
Здесь описывается массив, состоящий из 10 элементов, а определяются только 5 из них; компиляция этой записи не пройдет. Побочным эффектом такого положения вещей является то, что если мы описываем размерность массива с помощью переменной, то она должна являться константой. Например:
int[] myIntArray ~ new int [array Size] {5, 9, 10, 2, 99};
Если ключевое слово const будет пропущено, программа работать не будет. Как и в случае переменных других типов, нет никакой необходимости инициализировать массив в той же строке -в которой он объявляется. Вполне допустимой является следующая запись:
Console.WriteLine(“Here are{0} of my friends:”, friendNames.Length)
friendNames.Length);
for (i = 0; i < friendNames.Length; i++) ;
{
Console.WriteLine(friendNames[i]);
}
}
В этом коде объявляется массив типа string , состоящий из трех значений, которые затем выводятся на консоль с помощью цикла for. Обратите внимание, что существует возможность узнать общее количество элементов массива посредством параметра friendNames.Length:
Console.WriteLine(Here are {0} of my friends:”, friendNames.Length);
Это очень удобный способ определения размера массива. При выводе значений массива в цикле for легко допустить ошибку. Например, попытаемся вместо оператора < использовать оператор < = , как показано ниже:
for (i = 0; i < friendNames.Length; i++) ;
{
Console.WriteLine(friendNames[i]);
}
Компиляциях последующим выполнением программы приведет к появлению окна с сообщением об ошибке: "Необрабатываемая исключительная ситуация типа 'выход индекса за пределы диапазона' В ChO5ExO4.exe". В приведенном случае мы попытались получить доступ к friendNames[3]. Как Щ вы помните, значения индексов массива начинаются с нуля, поэтому последним элементом данного массива является friendNames [2]. Обращение к элементам массива, выходящим за его границу, приведет к ошибке. На самом деле существует более удобный способ доступа ко всем элементам массива с помощью цикла foreach.