Цикл foreach — мощный инструмент для перебора элементов коллекций в C#. Рассмотрим сначала перебор элементов многомерного массива.
Перебор многомерного массива
Пример кода для перебора двумерного массива:
// Инициализация двумерного массива
double[,] array = new double[2, 2] { {1, 2}, {3, 4} };
// Перебор элементов с помощью вложенных циклов for
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
Console.Write(array[i, j] + " ");
}
Console.WriteLine();
}
Результат выполнения: 1 2 3 4
Для массивов большей размерности потребуется большее количество вложенных циклов.
Цикл foreach
Основное преимущество foreach — отсутствие необходимости указывать длину коллекции. В отличие от цикла for, где явно задаётся условие завершения (достижение определённого индекса), foreach выполняется до тех пор, пока в коллекции есть элементы.
Пример использования foreach:
// Инициализация массива
double[] numbers = { 2.0, 3.5, 7.0 };
// Перебор элементов массива с помощью foreach
foreach (double element in numbers)
{
Console.WriteLine(element);
}
Результат выполнения:
2 3.5 7
Переменная element последовательно принимает значения каждого элемента массива numbers. Тип переменной element должен соответствовать типу элементов в коллекции.
Десятичный разделитель
В примере с массивом numbers используется точка как десятичный разделитель. Запятая приведёт к ошибке.
Цикл foreach обеспечивает простой и лаконичный способ перебора элементов коллекций в C#. Он значительно упрощает код, особенно при работе с массивами и другими типами коллекций.