2016-06-11 5 views
-3

を使用して、リスト の外に辞書を抽出します。 は、私は以下のように<code>Pencil</code>オブジェクト<code>List<Pencil> pencils</code>のリストを持ってLINQ

public class Pencil 
{ 
    public Pencil(int quantity, Color color) 
    { 
     Quantity = quantity; 
     Color = color; 
    } 

    public int Quantity { get; set; } 
    public Color Color { get; set; } 
} 

var pencils = new List<Pencil> 
{ 
    new Pencil(3, Blue), 
    new Pencil(2, Red), 
    new Pencil(5, Blue), 
}; 

私が何をしたいことはLINQを使用して、このような辞書を抽出することができることです。

あなたは色によってグループがなければならず、その後のようなキーとその色の量の合計として各色が含まれている辞書を作成するために、 ToDictionaryを用い
Dictionary<Color, int> ColorAndQuantities; 
+2

[OK]を、あなたは何かしたいが、それを取得しようとしましたか?それともちょうど*「私はドキュメントを読むのが面倒すぎ、私のためにやっている」*質問のタイプですか? – Eser

+0

もしあなたがlinqでそれをすることができないなら、あなたはそれを行うために古典的なループを使うことができますか? ....あなたの努力を示す.... – EZI

+0

@Eserなぜそんなに怒っている? – Vahid

答えて

3

このような値:

var result = 
    pencils 
    .GroupBy(x => x.Color) 
    .ToDictionary(g => g.Key, g => g.Sum(x => x.Quantity)); 
関連する問題