2017-03-11 5 views
0

ここにnewbを入れてください。C# - リストをループし、値が一致する変数を探す必要があります

私は主に異なるモデルである飛行機のリストを持っています。しかし、私は同じモデルでそれらの値を一緒に加えるものを見つけることができる必要があります。ここで私は何をしようとしているの例です。飛行機の

一覧:

プレーン1

  1. モデル:Boeing777

  2. 総席:200

  3. 出席者が必要です:4

プレーン2

  1. モデル:ボーイング727

  2. 総席:150

  3. 出席者は、必要に応じて:3

プレーン3

  1. モデル:Boeing777

  2. 総席:必要な200人の

  3. 出席者:4

ので、私は飛行機のこのリストをループにしたい、との代わりに、それは2ボーイングを出力します777、私は1ボーイング777を出力し、必要な座席と出席者を合計したい。

出力は次のようになります。飛行機の

一覧:

  1. モデル:Boeing777

  2. 総席:必要な400人の

  3. 出席者:8

    1. モデル:ボーイング727

    2. 総席:必要な150人の

    3. 出席者:3

これはどんな意味がありますか?

すべてのヘルプは非常にあなたがEnumerable.GroupBy()使用することができます

+0

スタックオーバーフローをコード書き込みサービスではありません、あなたがこれを自分でコーディングしようとすることを期待されます。私は、あなたの問題についての調査をしてみることをお勧めします(おそらく、ページの上部にある検索ボックスを試してみてください)、あなた自身でコードを書くことを試みてください。 /あなたのコードに問題が発生した場合は、再度尋ねて、あなたが試したこと、そしてそれがあなたのためにうまくいかなかった理由を説明してください。偉大な疑問や、[最小限の、完全で、検証可能な例](http://stackoverflow.com/)と尋ねる助けについては、[How to Ask](http://stackoverflow.com/help/how-to-ask)を参照してください。ヘルプ/ mcve)。 – bc004346

答えて

2

をいただければ幸いです。

var groups = planes.GroupBy(p => p.Model); 

foreach (var group in groups) 
{ 
    Console.WriteLine("1. Model: {0}", group.Key); 
    Console.WriteLine("2. Total Seats: {0}", group.Sum(p => p.Seats)); 
    Console.WriteLine("3. Attendants: {0}", group.Sum(p => p.Attendants)); 
} 
+1

@JeroenvanLangenありがとう。私の答えを更新しました。 – itsme86

+0

ありがとうございました。これは私がそれが必要なのとまったく同じように働いた! – Noalani

関連する問題