Цикл foreach
в C# позволяет перебирать коллекцию объектов, например массив или список. Синтаксис цикла foreach
следующий:
foreach (var item in collection) { // code to execute for each item in the collection }
Здесь var
— это ключевое слово вывода типа, которое позволяет компилятору вывести тип item
на основе типа элементов в коллекции. Вы также можете явно указать тип item
, например:
foreach (int item in collection) { // code to execute for each item in the collection }
Например, рассмотрим следующий фрагмент кода:
int[] numbers = { 1, 2, 3, 4, 5 }; foreach (int number in numbers) { Console.WriteLine(number); }
В этом примере цикл foreach
будет перебирать элементы массива numbers
, выводя каждый из них на консоль. На первой итерации number
равно 1, на второй итерации — 2 и так далее.
Вырваться из цикла
Вы не можете использовать оператор break
для преждевременного выхода из цикла foreach
, так как он предназначен для перебора всей коллекции. Однако вы можете использовать оператор return
для раннего выхода из цикла и закрывающего метода. Например:
int[] numbers = { 1, 2, 3, 4, 5 }; foreach (int number in numbers) { if (number == 3) { return; } Console.WriteLine(number); }
В этом примере цикл foreach
будет перебирать элементы массива numbers
, выводя каждый из них на консоль. Однако, когда number
равно 3, будет выполнен оператор return
, что приведет к выходу из цикла и закрывающего метода.
Продолжение цикла
Вы можете использовать оператор continue
, чтобы пропустить оставшуюся часть текущей итерации цикла foreach
и перейти к следующей итерации. Например:
int[] numbers = { 1, 2, 3, 4, 5 }; foreach (int number in numbers) { if (number % 2 == 1) { continue; } Console.WriteLine(number); }
В этом примере цикл foreach
будет перебирать элементы массива numbers
, но код внутри цикла будет выполняться только для четных значений number
. На нечетных итерациях будет выполняться оператор continue
, в результате чего цикл пропускает оставшуюся часть текущей итерации и переходит к следующей.
Пример
Вот полный пример того, как можно использовать цикл foreach
в программе на C#:
using System; namespace ForeachLoopExample { class Program { static void Main(string[] args) { int[] numbers = { 1, 2, 3, 4, 5 }; foreach (int number in numbers) { Console.WriteLine(number); } } } }
Эта программа будет печатать элементы
Надеюсь, это поможет! Дайте мне знать, если у вас есть какие-либо вопросы или вам нужны дополнительные разъяснения по любой из концепций, которые я обсуждал.