Доступ к элементам массива осуществляется при помощи выражений доступа к элементам в форме A[I1, I2, ..., IN], где A является выражением с типом массива, а каждый элемент IX — выражением с типом int, uint, long, ulong либо может быть неявно преобразован в один или несколько из этих типов. Результатом осуществления доступа к элементу массива является переменная, а именно элемент массива, выбранный по индексу.
Элементы массива могут перечисляться с использованием оператора foreach.
В следующем примере создается и инициализируется массив элементов типа int, содержимое созданного массива выводится на консоль.
using System;
namespace ConsoleApplication5
{
class Program
{
static void Main()
{
int[] a = new int[10];
for (int i = 0; i < a.Length; i++)
{
a[i] = i * i;
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("a[{0}] = {1}", i, a[i]);
}
}
}
}
В следующем примере выделяется память для одно-, двух- и трехмерного массивов.
int[] a1 = new int[2];
int[,] a2 = new int[2, 2];
int[, ,] a3 = new int[2, 2, 2];
В примере оператор foreach используется для отображения содержимого массива целых чисел
int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
Пример. Просуммировать элементы строк матрицы a. Результат получить в виде вектора (одномерного массива) b:
int[,] a = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[] b = new int[3];
for (int i = 0; i < 3; i++)
{
int s = 0;
for (int j = 0; j < 3; j++)
s += a[i, j];
b[i] = s;
}
for (int i = 0; i < 3; i++)
Console.Write("{0:d} ", b[i]);
Console.WriteLine();
Console.ReadKey();
Тип System.Array является абстрактным базовым типом для всех типов массива. Выполняется неявное преобразование ссылок из любого типа в тип System.Array, а также явное преобразование ссылок из типа System.Array в любой тип массива. Тип System.Array сам по себе не является типом_массива. Это тип_класса, на основе которого создаются все типы_массива.