gpt4 book ai didi

c# - 在元组列表中查找具有最高 Item1 值的元组 - 然后将其从列表中删除

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:35 25 4
gpt4 key购买 nike

我有一个类型的元组列表:

List<Tuple<int, int>> listOfStuffs= new List<Tuple<int, int>>();

现在,考虑到我已经用一些有用的值填充了我的列表,我如何从该列表(在不同的元组中)中提取包含最高 Item1 值的元组?
如果有多个匹配项,它必须只返回第一个。

这不起作用,因为它返回一个 Int 值而不是实际的元组:

Tuple<int, int> selectedTuple = listOfStuffs.Max(t => t.Item1);  

一旦我们找到匹配项,如何将其从 listOfStuffs 中删除?

我做了以下事情,当有重复时,它似乎只从列表中删除一个元组(根据需要):

listOfStuffs.Remove(new Tuple<int, int>(selectedTuple.Item1, selectedTuple.Item2));

也许有一种方法可以结合这些操作?

最佳答案

您可以对列表进行排序并取第一个:

var tupleWithMaxItem1 = listOfStuffs.OrderByDescending(x => x.Item1).First();

或者您可以使用 MoreLinqMaxBy() 扩展:

var tupleWithMaxItem1 = listOfStuffs.MaxBy(x => x.Item1);

MaxBy() 将比先对列表排序更快。

关于c# - 在元组列表中查找具有最高 Item1 值的元组 - 然后将其从列表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56972668/

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