使用以下简单的Item类:
class Item
{
public int Value { get; set; }
}
这个项目清单:
var items = new List<Item>();
items.Add( new Item() { Value = 1 } );
items.Add( new Item() { Value = 2 } );
items.Add( new Item() { Value = 3 } );
如何判断所有项目的最大价值?
如何确定列表中哪个项目的值最大?
答案 0 :(得分:8)
使用LINQ
items.Max(v => v.Value)
包含最大价值的物品
var max = items.Max(v => v.Value);
var x = items.Where(v => v.Value == max);
然而,devdigital建议的MaxBy扩展方法只会迭代集合一次
答案 1 :(得分:3)
如何直接告诉所有项目的最大价值?
您可以使用Max
标准查询运算符:
var maxValue = items.Max(i => i.Value);
如何确定列表中哪个项目的值最大?
查看MaxBy
扩展名morelinq
答案 2 :(得分:1)
答案 3 :(得分:1)
public class ItemEvaluator
{
public int Highest { get { return highest; } }
public int Lowest { get { return lowest; } }
public void Add(Item item)
{
highest = item.Value > highest ? item.Value : highest;
lowest = item.Value < lowest ? item.Value : lowest;
items.Add(items);
}
private List<int> items = new List<int>();
private int lowest;
private int highest;
}
public class Item
{
public int Value { get; set; }
}