Оператор цикла foreach

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

foreach (тип имя_переменной_цикла in коллекция)оператор;

Здесь тип имя_переменной_цикла обозначает тип и имя переменной управле­

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

Оператор цикла foreach действует следующим образом. Когда цикл начинается, первый элемент массива выбирается и присваивается переменной цикла. На каждом последующем шаге итерации выбирается следующий элемент массива, который сохраняется в переменной цикла. Цикл завершается, когда все элементы массива окажутся выбранными. Следовательно, оператор 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 x in nums)

{

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

sum += x;

}

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

}

}

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

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

using System;

class ForeachDemo

{

static void Main()

{

int sum = 0;

int[] nums = new int[10];

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

foreach (int x in nums)

{

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

sum += x;

if (x == 4) break;

}

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

}

}

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

using System;

class ForeachDemo

{

static void Main(){

int sum=0;

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

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

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

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

foreach(int x in nums){

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

sum+=x;

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

}

//поисk в массиве с потощью оператора цикла foreach

using System;

class Search

{

static void Main()

{

int[] nums = new int[10];

int val = 5;

bool found = false;

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

nums[i] = i;

//использовать цикл для поиска заданного значения в массиве.

foreach (int x in nums)

{

if (x == val) { found = true; break; }

}

if (found) Console.WriteLine("Значение найдено!");

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: