Итерации над элементами массивов и списков в 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.

Третий цикл повторяется над словарем . Значения, используемые этим циклом, это структуры типа KeyValuePair , и они содержат пары ключей и значений, хранящиеся в словаре. Код добавляет пары в lstDictionary ListBox, который использует методы ToString для их отображения. Метод ToString возвращает ключ и значение в квадратных скобках, как показано на рисунке.

Заключительный цикл повторяется над элементами в двумерном массиве, что многие программисты не реализовывают. Если вы посмотрите внимательно на картинку, вы увидите, что цикл перечисляет элементы в массиве в строчном порядке. Другими словами, сначала перечисляются элементы в первой строке, затем элементы во второй строке и т.д..

Источник: csharphelper.com/blog/2017/07/iterate-over-the-items-in-arrays-and-lists-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Adblock
detector