C# DescriptiveStatistics 二维数组求每一列的最大值
时间: 2024-11-15 21:30:29 浏览: 10
在C#中,如果你想要计算二维数组(如`double[,]' 或 `List<List<double>>`)的每一列最大值,你可以使用LINQ库提供的`Max()`函数结合`Select()`方法。这里是一个例子:
```csharp
using System;
using System.Linq;
// 假设你有一个二维数组
double[,] multiArray = {
{ 1.0, 2.5, 3.7 },
{ 4.2, 5.1, 6.8 },
{ 7.9, 8.3, 9.1 }
};
// 或者一个列表嵌套列表
List<List<double>> multiArrayAsLists = new List<List<double>> {
new List<double>{1.0, 2.5, 3.7},
new List<double>{4.2, 5.1, 6.8},
new List<double>{7.9, 8.3, 9.1}
};
// 对每一列求最大值
double[] columnMaximaArray = multiArray.AsParallel().Select(row => row.Max()).ToArray();
List<double> columnMaximaLists = multiArrayAsLists.Select(subList => sublist.Max()).ToList();
// 输出结果
foreach (double max in columnMaximaArray)
{
Console.WriteLine($"Column maximum value is: {max}");
}
foreach (double max in columnMaximaLists)
{
Console.WriteLine($"Column maximum value is: {max}");
}
```
这里我们首先将二维数组转换成并行流,然后对每一行应用`Max()`函数,得到每列的最大值。如果使用的是`List<List<double>>`,则是直接对每个子列表操作。
阅读全文