Читаем 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 += х;

    }

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

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