我有一个 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 librarya suitable MaxBy method ,这将允许:
var pair = myList.MaxBy(x => x.Key);

关于c# - 获取列表上的最大 KeyValuePair<KeyValuePair>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37878588/

10-12 05:29