Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Desktop_1 / К лекциям / Массивы

.doc
Скачиваний:
23
Добавлен:
10.06.2015
Размер:
35.33 Кб
Скачать

Массивы

Массивы в С# несколько отличаются от других С-подобных языков.

Пример первый:

int [ ] к; //к - массив

k=new int [3]; //Определяем массив из 3 целых

к[0]=-5; к[1]-4; к[2]=55; //Задаем элементы массива

//Выводим третий элемент массива

Console.WriteLine(к[2] .ToString ());

Обратите внимание на некоторые особенности. Во-первых, массив определяется именно как

int[] к;

а не как один из следующих вариантов:

int k[]; //Неверно!

int k [3]; //Неверно !

int [3] к; //Неверно!

Во-вторых, так как массив представляет собой ссылочный объект, то для создания массива необходима строка

k=new int [3];

Именно в ней мы и определяем размер массива. Кроме того, возможны конструкции вида

int [] k = new int [3];

Элементы массива можно задавать сразу при объявлении. Например:

int [] к = {-5, 4, 55} ;

приведенные конструкции применимы не только к типу int и не только к массиву размера 3.

В С#, как и в C/C++, нумерация элементов массива идет с нуля. Таким образом, в нашем примере начальный элемент массива — это k[0], a последний — к[2]. Элемента к[3], нет.

Теперь переходим к многомерным массивам. Вот так задается двумерный массив:

int [,] k = new int [2, 3];

Обратите внимание, что пара квадратных скобок только одна. В нашем примере у массива 6 (=2*3) элементов (к[0,0] — первый, к[1,2] — последний).

Аналогично мы можем задавать многомерные массивы. Вот пример трехмерного массива:

int [] к = new int [10,10,10];

А вот так можно сразу инициализировать многомерные массивы:

int[,] k = {{ 2, -2 }, { 3, -22 }, { 0, 4 }};

Приведенные выше примеры многомерных массивов называются прямоугольными. Если их представить в виде таблицы (в двумерном случае), то массив будет представлять собой прямоугольник.

Наряду с прямоугольными массивами существуют так называемые ступенчатые. Вот пример:

//Объявляем 2-мерный ступенчатый массив

int[][] k = new int [2][];

//Объявляем 0-й элемент нашего ступенчатого массива

//Это опять массив и в нем 3 элемента

k[0]=new int[3];

//Объявляем 1-й элемент нашего ступенчатого массива

//Это опять массив и в нем 8 элементов

k[1]=new int[8];

k[1][7]=100; //записываем 100 в последний элемент массива

Обратите внимание, что у ступенчатых массивов мы задаем несколько пар квадратных скобок (по размерности массива). И точно так же мы что-нибудь делаем с элементами массива — записываем, читаем и т. п.

Самая важная и интересная возможность ступенчатых массивов — это их «непрямоугольность». Так, в приведенном выше примере в первой «строке» массива к три целых числа, а во второй — восемь. Часто это оказывается очень кстати.

Инструкция foreach, in

В C# также предусмотрена инструкция foreach. Она обеспечивает простой и понятный способ выполнения итерации элементов в массиве.

Синтаксис инструкции foreach:

foreach (int ИндексМассива in ИмяМассива)

int ИндексМассива – тип и имя переменной для номера элемента массива.

Слово in – в.

ИмяМассива – имя массива.

Пример. Следующий код создает массив numbers и осуществляет его итерацию с помощью инструкции foreach.

int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };

foreach (int i in numbers)

{

System.Console.Write("{0} ", i);

}

// Output: 4 5 6 1 2 3 -2 -1 0

Этот же метод можно использовать для итерации элементов в многомерных массивах

Однако для лучшего контроля элементов в многомерных массивах можно использовать вложенный цикл for.

Соседние файлы в папке К лекциям