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

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

救命!

谢谢!

最佳答案

假设所有图层的大小均sizeX x sizeY,因为否则这没有任何意义:

var maxLayer = new Double[sizeX,sizeY];

for( int x = 0; x <= maxLayer.GetUpperBound(0); x++ )
    for( int y = 0; y <= maxLayer.GetUpperBound(1); y++ )
        maxLayer[x,y] = Double.NegativeInfinity;

foreach( Double[,] layer in list )
    for( int x = 0; x <= maxLayer.GetUpperBound(0); x++ )
        for( int y = 0; y <= maxLayer.GetUpperBound(1); y++ )
            maxLayer[x,y] = Math.Max( maxLayer[x,y], layer[x,y] );


这里没有什么聪明的。

关于c# - 寻找最大问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6259916/

10-12 14:25