2011-08-01 5 views
0

次のような単純な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 }); 

全ての項目で最大の価値を伝えるためにどのように?

リスト内のどのアイテムが最大値を持つかを確認するにはどうすればよいですか?

答えて

8

しかし、devdigitalによって提案MaxBy拡張メソッドが唯一のコレクションを反復処理します一度

3

どのようにすべてのアイテムの最大の価値を直接伝えるか?

あなたはMax標準クエリ演算子を使用することができます:最大の価値を持って、リスト内のどの項目を決定するためにどのように

var maxValue = items.Max(i => i.Value); 

を?

MaxBy拡張のためのmorelinq

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; } 
} 
をチェック
関連する問題