Цикл foreach, удобный при работе с массивами, коллекциями и другими подобными контейнерами данных. Его синтаксис: foreach(тип имя_переменной in коллекция) оператор
Здесь элементы тип и имя_переменной задают тип и имя итерационной переменной, которая при функционировании цикла fоreach будет получать значения элементов из коллекции. Элемент коллекция служит для указания опрашиваемой коллекции. Таким образом, элемент тип должен совпадать (или быть совместимым) с базовым типом массива.
int sum = 0; int [ ] nums = new int[10];
for (int i = 0; i < 10; i++)// Присваиваем элементам массива nums значения,
nums[i] - i;
foreach(int x in nums) {// отображение значений элементов массива и их суммирование
Console.WriteLine("Значение элемента равно: " + х); sum += х; }
Цикл работает в полном соответствии со своим названием — тело цикла выполняется для каждого элемента в массиве. Предполагается также, что элементы коллекции (массива, коллекции) упорядочены. На каждом шаге цикла переменная, задающая текущий элемент массива, получает значение очередного элемента в соответствии с порядком, установленным на элементах массива. С этим текущим элементом и выполняется тело цикла — выполняется столько раз, сколько элементов находится в коллекции. Цикл заканчивается, когда полностью перебраны все элементы коллекции. Серьезным недостатком циклов foreach в языке C# является то, что цикл работает только на чтение, но не на запись элементов.