以二维数组访问行

时间:2014-12-01 09:06:15

标签: c# arrays

我有一个像这样的多维数组,有大约3000行和200列:

+--+--+--+
|21|23|41|
+--+--+--+
|11|14|16| // 11 is the smalles value in 2nd row
+--+--+--+
|43|35|23|
+--+--+--+

我想确定第二行的smalles值。 有更好/更可读/ linq的解决方案吗?我目前使用for-loop?

我目前的方法:

int min = array[0,1];
for (int i= 1; i<len;i++)
{
    if (array[i,1] < min)
    {
        min = array[i,1];
    }
}

2 个答案:

答案 0 :(得分:0)

arr成为数组,l.u == 1表示第二行:

arr.Select((t, u) => new { u, t }).Where(l => l.u == 1).FirstOrDefault().t.Min();

答案 1 :(得分:0)

找到了可行的解决方案

int[,] array = new int[3, 3] { { 21, 23, 41 }, { 11, 14, 16 }, { 43, 35, 23 } };
int min = Enumerable.Range(0, array.GetLength(1)).Min(i => array[1, i]);
Console.WriteLine(min); // 11