我有一个 List<KeyValuePair<int, string>>
。
我希望能够知道拥有最大 KeyValuePair<int, string>
的 Key
。
但是,我想获得 key 的值(value)。不仅是关键。
我能够做到这一点:
int myValue = myListe.Max(t => t.Key);
但它返回键...不是值:(
我怎样才能做到这一点?
最佳答案
最简单(但不必要的昂贵)的方法是:
var pair = myList.OrderByDescending(x => x.Key).First();
但是,编写一个定制的
MaxBy
扩展方法非常容易,它可以完成相同的工作,而无需对所有其他值进行排序。这是否重要取决于列表的大小和您的性能要求。The
MoreLINQ
library 有 a suitable MaxBy
method ,这将允许:var pair = myList.MaxBy(x => x.Key);
关于c# - 获取列表上的最大 KeyValuePair<KeyValuePair>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37878588/