gpt4 book ai didi

c# - 在 C# 中获取 List> _val 中的最大或最小值

转载 作者:行者123 更新时间:2023-12-02 15:46:40 24 4
gpt4 key购买 nike

你好,

如何从 List<Tuple<double, double>> tupleList 中获取最小值和最大值?

我知道我可以在 List<double> onlyList 中得到 min 或 min通过

onlyList.Max();
onlyList.Min();

但是 List with Tuple 怎么样呢?我应该将元组解析为新列表然后调用“Max()/Min()”吗?

例如如果我有这个

tupleList.Add(new Tuple<double, double>(11, 3));
tupleList.Add(new Tuple<double, double>(10, 5));
tupleList.Add(new Tuple<double, double>(12, 2));
tupleList.Add(new Tuple<double, double>(13, 0));
tupleList.Add(new Tuple<double, double>(15, 4));
tupleList.Add(new Tuple<double, double>(14, 1));

我想比较每个元组中的第一个 double (从 10 - 15)并得到 10 和 15 作为最小值和最大值,然后比较每个元组中的第二个 double (从 0 - 5)并得到 0 和 5 作为最小值和最大值。

感谢各位大侠的指点! ^^,

最佳答案

如果你想要元组列表中任何值的最小值/最大值,你可以这样做:

onlyList.Min(t => t.Item1 < t.Item2 ? t.Item1 : t.Item2);
onlyList.Max(t => t.Item1 > t.Item2 ? t.Item1 : t.Item2);

如果您需要第一项或第二项的最大值,请使用

onlyList.Max(t => t.Item1);

Min 也是如此。

还有其他方法 - 创建所有项目的“扁平化”列表(例如使用 SelectMany)并调用 max 等等。使用对您来说最有意义的任何东西。除非您多次遍历列表,否则我预计不会有显着的性能差异。

关于c# - 在 C# 中获取 List<Tuple<double, double>> _val 中的最大或最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73963074/

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