Итерации над элементами массивов и списков в C#
Вы можете использовать цикл foreach для перебора элементов массивов, списков, коллекций и других объектов с методом GetEnumerator. Этот цикл часто больше подходит, в отличие от for или while, потому что вам не нужно беспокоиться о том, сколько элементов находится в коллекции или когда прекратить итерацию.
Этот обработчик события Form_Load этого примера использует следующий код для инициализации двух массивов, списка и словаря.
// Создаем два массива, список и словарь.
string[] fruits =
{
"Apple",
"Banana",
"Cherry"
};
List cookies = new List()
{
"Chocolate Chip",
"Snickerdoodle",
"Peanut Butter"
};
Dictionary dict = new Dictionary<>()
{
{1, "One"},
{2, "Two"},
{3, "Three"},
};
string[,] array2d =
{
{ "0, 0", "0, 1", "0, 2"},
{ "1, 0", "1, 1", "1, 2"},
};
Затем программа использует следующий код для повторения элементов в различных коллекциях.
// Производим итерацию элементов в массивах, списке и словаре. foreach (string fruit in fruits) lstFruits.Items.Add(fruit); foreach (string cookie in cookies) lstCookies.Items.Add(cookie); foreach (KeyValuePair<> pair in dict) lstDictionary.Items.Add(pair); foreach (string item in array2d) lstRowColumn.Items.Add(item);
Первый цикл foreach относительно прост. Он использует переменную fruit, которая имеет тип string, потому что это тип данных массива fruit. Во время цикла переменная fruit принимает каждое из значений в массиве. Она принимает каждое значение по порядку, а код добавляет эти значения в lstFruits ListBox.
Второй цикл аналогичным образом перебирает элементы в куках списка. Файл cookie строковой переменной принимает поочередно каждое из значений в списке, а код цикла добавляет их в список LstCookies ListBox.
Третий цикл повторяется над словарем
Заключительный цикл повторяется над элементами в двумерном массиве, что многие программисты не реализовывают. Если вы посмотрите внимательно на картинку, вы увидите, что цикл перечисляет элементы в массиве в строчном порядке. Другими словами, сначала перечисляются элементы в первой строке, затем элементы во второй строке и т.д..
Источник:
