寻找最大问题

lex*_*eme 1 c# linq foreach max multidimensional-array

我有这样的清单List<Double[,]>.让我们将列表中的每个二维数组称为一层.所以我应该比较每一层中的每个元素并提取最大值.并构造最大值的层.

我怎么做?也许使用LINQ?还是foreach循环结构?

救命!

谢谢!

Ale*_*Aza 6

var x = new double[,] { { 1, 2 }, { 3, 4 } };
var y = new double[,] { { 5, 6 }, { 7, 8 } };
var list = new List<double[,]> { x, y };

var maxValues = list
    .Select(arg => arg.Cast<double>().Max())
    .ToList();
Run Code Online (Sandbox Code Playgroud)

所以我理解x和y是水平.
结果将是4和8,它们分别在x和y级上最大.

[编辑]

好像我误解了这个问题.要查找max的级别,您可以使用以下代码:

var maxLevel = list
    .Select(arg => new { Max = arg.Cast<double>().Max(), Level = arg })
    .OrderByDescending(arg => arg.Max)
    .Select(arg => arg.Level)
    .First();
Run Code Online (Sandbox Code Playgroud)