Читаем C# 4.0: полное руководство полностью

Ниже приведен простой пример применения оператора цикла foreach. В этом примере сначала создается целочисленный массив и задается ряд его первоначальных значений, а затем эти значения выводятся, а по ходу дела вычисляется их сумма.


// Использовать оператор цикла foreach.

using System;

class ForeachDemo {

  static void Main() {

    int sum = 0;

    int[] nums = new int [10];


    // Задать первоначальные значения элементов массива nums.

    for(int i = 0; i < 10; i++) nums[i] = i;


    // Использовать цикл foreach для вывода значений

    // элементов массива и подсчета их суммы,

    foreach(int х in nums) {

      Console.WriteLine("Значение элемента равно: " + х); sum += х;

    }

    Console.WriteLine("Сумма равна: " + sum);

  }

}


Выполнение приведенного выше кода дает следующий результат.


Значение элемента равно: 0

Значение элемента равно: 1

Значение элемента равно: 2

Значение элемента равно: 3

Значение элемента равно: 4

Значение элемента равно: 5

Значение элемента равно: 6

Значение элемента равно: 7

Значение элемента равно: 8

Значение элемента равно: 9

Сумма равна: 45


Как видите, оператор foreach циклически опрашивает массив по порядку индексирования от самого первого до самого последнего его элемента.

Несмотря на то что цикл foreach повторяется до тех пор, пока не будут опрошены все элементы массива, его можно завершить преждевременно, воспользовавшись оператором break. Ниже приведен пример программы, в которой суммируются только пять первых элементов массива nums.


// Использовать оператор break для преждевременного завершения цикла foreach.

using System;

class ForeachDemo {

  static void Main() {

    int sum = 0;

    int[] nums = new int[10];


    // Задать первоначальные значения элементов массива nums.

    for(int i = 0; i < 10; i++) nums[i] = i;


    // Использовать цикл foreach для вывода значений

    // элементов массива и подсчета их суммы.

    foreach(int x in nums) {

      Console.WriteLine("Значение элемента равно: " + x);

      sum += x;

      if(x == 4) break; // прервать цикл, как только индекс массива достигнет 4

    }

    Console.WriteLine("Сумма первых 5 элементов: " + sum);

  }

}


Вот какой результат дает выполнение этой программы.


Значение элемента равно: 0

Значение элемента равно: 1

Значение элемента равно: 2

Значение элемента равно: 3

Значение элемента равно: 4

Сумма первых 5 элементов: 10


Совершенно очевидно, что цикл foreach завершается после выбора и вывода значения пятого элемента массива.

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


// Использовать оператор цикла foreach для обращения к двумерному массиву.

using System;

class ForeachDemo2 {

  static void Main() {

    int sum = 0;

    int[,] nums = new int[3,5];


    // Задать первоначальные значения элементов массива nums.

    for (int i = 0; i < 3; i++)

      for (int j=0; j < 5; j++)

        nums[i,j] = (i + 1) * (j + 1);


    // Использовать цикл foreach для вывода значений

    // элементов массива и подсчета их суммы,

    foreach(int х in nums) {

      Console.WriteLine("Значение элемента равно: " + х);

      sum += х;

    }

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных