私はC#を初めて使用し、いくつかのLINQ質問に答えることを試みています。私は難しいとマークされた1番で立ち往生しています...C#LINQグループby
Q:これらの遅延の値を含む、平均出発便の遅延が最も大きい10の出発空港は何ですか? (ヒント:by group by)
私はクラス「FlightInfo」以上の20000個のオブジェクトが移入リストという名前の「フライト」を持っています。 FlightInfoクラスの
プロパティは以下のとおりです。 文字列のキャリア、文字列の起源、文字列の先、int型DepartureDelay、int型ArrivalDelay、int型キャンセル、int型の距離。
私は、FlightInfo.OriginでFlightInfoをグループ化し、FlightInfo.DepartureDelayでこれらのグループを平均し、平均遅延が最も高い10を表示することを理解していますが、グループ化のほかに、さらに進める方法に完全に固執しています。
ありがとうございました!飛行の加重到着遅延が到着遅延が距離を分けている:
Q:ここ
は私が答えることができた前回の質問の一つの例です。マサチューセッツ州ボストンから最大の加重到着遅延を持つフライトは何でしたか?
A:
var weighted = (from FlightInfo in Flights
where FlightInfo.Origin == "Boston MA"
orderby (FlightInfo.ArrivalDelay/FlightInfo.Distance) descending
select FlightInfo).Take(1);
サイドノート: 'Take'を返し' IEnumerableを 'あなたは 'T'のインスタンスをしたい場合は、[はい、私が見る、' First'または 'FirstOrDefault' –
使用し、私は' First'を使用するとき'foreach'ループを使わずにプロパティにアクセスできます。ありがとう、なぜ私は 'Console.WriteLine(weighted.Origin)'できないのか理解できませんでした。 –