Iterate through 2 dimensional array c#

You are passing an invalid index to GetLength. The dimensions of a multidimensional array are 0 based, so -1 is invalid and using a negative number (or a number that is larger than the number of dimensions – 1) would cause an IndexOutOfRangeException.

This will loop over the first dimension:

for (int k = 0; k < odds.GetLength(0); k++)

You need to add another loop to go through the second dimension:

for (int k = 0; k < odds.GetLength(0); k++)
    for (int l = 0; l < odds.GetLength(1); l++)
        var val = odds[k, l];

Leave a Comment