C # цикл foreach (с примерами)

В этой статье мы узнаем о циклах foreach (альтернативе циклу for) и о том, как использовать их с массивами и коллекциями.

C # предоставляет простую в использовании и более читаемую альтернативу циклу for, цикл foreach при работе с массивами и коллекциями для перебора элементов массивов / коллекций. Цикл foreach выполняет итерацию по каждому элементу, поэтому называется циклом foreach.

Прежде чем двигаться дальше с циклом foreach, посетите:

  • C # для цикла
  • Массивы C #
  • Коллекции C #

Синтаксис цикла foreach

 foreach (element in iterable-item) (// тело цикла foreach) 

Здесь итеративный элемент может быть массивом или классом коллекции.

Как работает цикл foreach?

inКлючевое слово , используемое вместе с петлей Еогеасп используется для итерации по Iterable-элемента. Ключевое слово in выбирает элемент из повторяемого элемента на каждой итерации и сохраняет его в переменном элементе.

На первой итерации первый элемент итеративного элемента сохраняется в element. На второй итерации выбирается второй элемент и так далее.

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

Вот пример итерации по массиву с использованием цикла for:

Пример 1: Печать массива с использованием цикла for

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) ) 

Эту же задачу можно выполнить с помощью цикла foreach.

Пример 2: Печать массива с использованием цикла foreach

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) ) 

Когда мы запустим обе программы, вывод будет:

 Здравствуйте 

В приведенной выше программе цикл foreach выполняет итерацию по массиву myArray. На первой итерации выбирается первый элемент, т.е. myArray (0), который сохраняется в ch.

Аналогично на последней итерации выбирается последний элемент, то есть myArray (4). Внутри тела цикла печатается значение ch.

Когда мы смотрим на обе программы, программа, использующая цикл foreach, более читабельна и проста для понимания. Это из-за его простого и выразительного синтаксиса.

Следовательно, цикл foreach предпочтительнее цикла for при работе с массивами и коллекциями.

Пример 3: обход массива пола с помощью цикла foreach

Эта программа подсчитывает количество кандидатов мужского и женского пола.

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) ) 

Когда мы запустим программу, вывод будет:

 Количество мужчин = 6 Количество женщин = 4 

Пример 4: цикл foreach с List (Collection)

Эта программа вычисляет сумму элементов в списке.

 using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Когда мы запустим программу, вывод будет:

 Сумма = 44

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

Первый элемент коллекции выбирается на первой итерации, второй элемент - на второй и так далее до последнего элемента.

Интересные статьи...