Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретический_курс.doc
Скачиваний:
36
Добавлен:
10.11.2019
Размер:
7.68 Mб
Скачать

3. Использование оператора foreach

В C# также предусмотрен оператор foreach. Этот оператор обеспечивает простой и понятный способ выполнения итерации элементов в массиве. Например, следующий код создает массив numbers и осуществляет его итерацию с помощью оператора foreach:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace LC_Console

{

class Program

{

static void Main()

{

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

foreach (int i in numbers)

{

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

}

Console.WriteLine("\nДля продолжения нажмите любую клавишу . . ."); ;

Console.ReadKey();

}

}

}

/* Выведет:

* 4 5 6 1 2 3 -2 -1 0

* Для продолжение нажмите любую клавишу . . .

*/

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace LC_Console

{

class Program

{

static void Main()

{

int[,] numbers2D = new int[3, 2] { { 9, 99 }, { 3, 33 }, { 5, 55 } };

// Или

// int[,] numbers2D = { { 9, 99 }, { 3, 33 }, { 5, 55 } };

foreach (int i in numbers2D)

{

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

}

Console.WriteLine("\nДля продолжения нажмите любую клавишу . . ."); ;

Console.ReadKey();

}

}

}

/* Выведет:

* 9 99 3 33 5 55

* Для продолжение нажмите любую клавишу . . .

*/

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

3.8.2. Виды массивов Виды массивов

1. Одномерный массив

Можно объявить массив из пяти целых чисел с одним измерением, как показано в следующем примере:

int[] array = new int[5];

Массив содержит элементы с array[0] по array[4].Оператор new служит для создания массива и инициализации элементов массива со значениями по умолчанию. В данном примере элементы массива инициализируются значением 0.

Массив, в котором хранятся строковые элементы, можно объявить таким же образом. Пример:

string[] stringArray = new string[6];

Массив можно инициализировать при объявлении. В этом случае спецификация ранга не нужна, поскольку она уже предоставлена по числу элементов в списке инициализации. Пример:

int[] array1 = new int[] { 1, 3, 5, 7, 9 };

Строковый массив можно инициализировать таким же образом. Ниже приведено объявление строкового массива, в котором каждый элемент инициализируется названием дня:

string[] weekDays = new string[] { "Пн.", "Вт.", "Ср.", "Чт.", "Пт.", "Суб.", "Вск." };

При инициализации массива при объявлении можно использовать следующий синтаксис:

int[] array1 = { 1, 3, 5, 7, 9 };

string[] weekDays = { "Пн.", "Вт.", "Ср.", "Чт.", "Пт.", "Суб.", "Вск." };

Можно объявить переменную массива без инициализации, но при присвоении массива этой переменной нужно использовать оператор new. Пример:

int[] array3;

array3 = new int[] { 1, 3, 5, 7, 9 }; // OK

//array3 = {1, 3, 5, 7, 9}; // Так нельзя