Циклическая конструкция Foreach

С массивами обычно не работают вручную, для этого пользуются циклами. Можно использовать любой из известных тебе конструкций, но так как в теле цикла необходимо иметь счетчик для его подстановки в массив в качестве индекса, наиболее удобным является цикл for.

Int32[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
for (Int i=0; i<7; i++)
{
    System.Console.WriteLine(i);
}

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

Int[] fibarray = new int[] { 5, 2, 54, 87, 5, 8, 2 };
foreach (Int i in fibarray)
{
    System.Console.WriteLine(i);
}

Многомерные массивы обычно обрабатываются во вложенных циклах. В этом случае управляющая переменная внешнего цикла – первый индекс массива (изменяется медленно), а управляющая переменная внутреннего цикла – второй индекс массива (изменяется быстро).
Например, построим таблицу умножения:

Int[,] MutlyTab = new Int[10, 10];
for (int i = 0; i < 10; i++)
    {
    for (int j = 0; j < 10; j++)
        {
        MutlyTab[i, j] = i * j;
        }
    }
Console.WriteLine(MutlyTab[5, 5]);
Console.ReadLine();