C# 如何确定项目集合中的最大价值?
使用以下简单的Item类:C# 如何确定项目集合中的最大价值?,c#,linq,C#,Linq,使用以下简单的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 } ); 如何判断所有项目的最大价值 如何确定列表
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 } );
如何判断所有项目的最大价值
如何确定列表中哪个项的值最大?Enumerable.max:
使用LINQ
items.Max(v => v.Value)
价值最大的物品
var max = items.Max(v => v.Value);
var x = items.Where(v => v.Value == max);
然而,devdigital建议的MaxBy扩展方法将只迭代集合一次
如何直接说出所有项目中的最大价值
您可以使用最大标准查询运算符:
var maxValue = items.Max(i => i.Value);
如何确定列表中哪个项目的价值最大
查看MaxBy扩展名
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; }
}