gpt4 book ai didi

c# - 如何在数组列表中获取柱状最小值?

转载 作者:行者123 更新时间:2023-11-30 13:26:08 25 4
gpt4 key购买 nike

我有一个 double 组存储在一个列表中,如下所示。我想从每一列中获取最小值。我知道我可以以某种方式遍历列表并获得最小值。但是,有没有一种更简单的方法可以使用每一列的 List.Min() 来获得相同的结果??

List<double[]> BoxCoords = new List<double[]>();

<!-----------------Console output of BoxCoords List------------------------------!>

8.03698858873275 | -1622.419367705 | 180.603950687759 //List Entry 1
8.03698858855283 | -1622.41905090503 | -220.203952098008 //List Entry 2
-7.70512234523364 | -1665.73116372802 | -220.204298594721 //List Entry 3

最佳答案

假设您的列是由包装数组的序数定义的,而不是由每一行中的值定义的,这里有一个使用 index overload 的方法Select 的数据,以反透视数据(使用 SelectMany),然后在索引上重新分组数据,之后应用 Min 是一个手续:

var columnMins = BoxCoords
.SelectMany(bc => bc.Select((v, idx) => new {Idx = idx, Val = v}))
.GroupBy(up => up.Idx)
.Select(grp => grp.Min(x => x.Val));

如果您需要将其作为 double 的数组返回,您可以在末尾添加 .ToArray()

[-7.70512234523364, -1665.73116372802, -220.204298594721]

演示 .Net Fiddle

关于c# - 如何在数组列表中获取柱状最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31615280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com