想象一下,你有一个这样的类(class):
class Foo {
string key;
int value;
}
您如何从
IEnumeralbe<Foo>
中选择具有最高值的 Foo ?一个基本问题是保持迭代次数较低(即 1 次),但这会影响可读性。毕竟,我能找到的最好的东西是这样的:
IEnumerable<Foo> list;
Foo max = list.Aggregate ((l, r) => l.value > r.value ? l : r);
你能想出更好的方法吗?
编辑:
list.OrderByDescending(l => l.value).First();
是我的首选,但不是 O(n)。
最佳答案
关于c# - 如何使用 LINQ 选择具有最高值的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3004204/