2012-03-14 15 views
1

プロパティを持つクラスがあります:Row, Seat。値として列の座席の私はキーとして含まDictionary<int,int>を返したい他のプロパティ(LINQ)に応じてプロパティ値を計算します

Row Seat 
1 1 
1 2 
1 3 
2 4 
2 5 

、および数字: は、たとえば、我々は次のデータを持っています。 上記の例では辞書には、2つのレコードが含まれます:

Key Value 
1 3 
2 2 

私はこれをどのように行うことができますか?
ありがとうございます。

+0

あなたは値として返される行の**最大**座席数を意味しましたか? – Zeina

+0

GroupBy()とCount()は、SQLと同じように使用します。 –

+0

@ゼニア:私は例を更新しました。 – user348173

答えて

8
list.GroupBy(x => x.Row) 
    .ToDictionary(x => x.Key, x => x.Count()); 
+0

ありがとうございます。このソリューションの可能性はどうですか? – user348173

+0

'.ToArray()'が指定されていません。 OPは配列ではなく辞書を持つことを望んでいます。 – Steven

+0

@スティーブンありがとう。 –

4

それがあまりにも関与していないです:行によってグループ化

var seatings = new List<Seatings>(); /* list of your class instances */ 
seatings.GroupBy(s => s.Row).ToDictionary(s => s.Key, s => s.Count()); 

は、各グループは、行に等しいKeyを有しており、その行のすべての座を得るために挙げることができるグループのコレクションを生じます。 ToDictionaryで直接辞書を作ることができます。

関連する問題