Массивы могут инициализироваться, когда они создаются. Ниже приведена общая форма инициализации одномерного массива:
тип[]имя_массива = {vall, val2, val3,..., valN};
Для хранения инициализаторов массива в C# автоматически распределяется достаточный объем памяти. А необходимость пользоваться оператором new явным образом отпадает сама собой.
//Вычислить среднее арифметическое ряда значений.
using System;
class Average
{
static void Main()
{
int[] nums = { 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 };
int avg = 0;
for (int i = 0; i < 10; i++)
avg = avg + nums[i];
avg = avg / 10;
Console.WriteLine("Среднее: " + avg);
}
}
При инициализации массива можно также воспользоваться оператором new, хотя особой надобности в этом нет
int[] nums = new int[] { 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 };
Несмотря на свою избыточность, форма инициализации массива с оператором new оказывается полезной в том случае, если новый массив присваивается уже существующей переменной ссылки на массив. Например:
int[] nums;
nums = new int[] { 99, 10, 100, 18, 78, 23, 63, 9, 87, 49 };
В данном случае переменная nums объявляется в первом операторе и инициализируется во втором.
|
|
При инициализации массива его размер можно указывать явным образом, но этот размер должен совпадать с числом инициализаторов. В качестве примера ниже приведен еще один способ инициализации массива nums.
int[] nums = new int[10] { 99, 10, 100, 18, 78, 23,63, 9, 87, 49);
Соблюдение границ массива
Если границы массива не достигаются или же превышаются, то возникает ошибка при выполнении.
Многомерные массивы
Двумерные массивы
Местоположение любого элемента в двумерном массиве обозначается двумя индексами. Такой массив можно представить в виде таблицы, на строки которой указывает один индекс, а на столбцы — другой. В следующей строке кода объявляется двумерный массив integer размерами 10×20.
int[,] table = new int[10, 20];
[,] означает, что создается переменная ссылки на двумерный массив.
Для доступа к элементу двумерного массива следует указать оба индекса, разделив их запятой. Например, в следующей строке кода элементу массива table с координатами местоположения (3,5) присваивается значение 10.
table[3, 5] = 10;
//Продемонстрировать двумерный массив.
using System;
class TwoD
{
static void Main()
{
int t, i;
int[,] table = new int[3, 4];
for (t = 0; t < 3; ++t)
{
for (i = 0; i < 4; ++i)
{
table[t, i] = (t * 4) + i + 1;
Console.Write(table[t, i] + " ");
}
Console.WriteLine();
}
}
}