000125. Блочные конструкции. Цикл foreach

Блочные конструкции. Цикл foreach||wmysterio|wmysterio|wmysterio@yandex.ru|||Всем привет! Мы продолжаем изучать блочные конструкции, и на этот раз я хотел бы рассказать ещё об одном виде циклов - foreach. Как я уже говорил в предыдущих уроках, переводится название как "Для каждого". По функционалу он очень поход на цикл "Для"(for), но отличается тем, что у него явно не указывается счётчик. Счётчиком выступает элемент какой-то коллекции, в этом предназначение. Как привило этот цикл используют тогда, когда в массиве(или другой коллекции) неизвестное количество элементов. Сама конструкция выглядит следующим образом:

... foreach (ТипКоллекции Индекс in ПеременнаяКоллекции) { // Действие над Индекс } ...

Что бы вы могли понять лучше, вот простой пример: создаём массив и заполняем его числом 2:

... int[] MyArray = new int[50]; foreach (int Item in MyArray) { MyArray[Item] = 2; } ...

В качестве индекса могут выступать целые объекты классов, структур и.т.п. Вот простенький пример: есть массив структур, заполненный данными. Что бы усложнить задание, мы сгенерируем количество элементов, затем получим данные из элемента :

... public struct Student { public string Name = "MyName"; public int Year = 2; } public Random Rnd = new Random(); ... Student[] MyArray = new Student[Rnd.Next(1, 120)]; foreach (Student Item in MyArray) { string Name = Item.Name; int Year = Item.Year; } ...

Last updated