我是C#的新手,試圖回答一些LINQ問題。我被困在第一個標記爲困難...C#LINQ Group作者:
問:什麼是最大的平均起飛延誤的10個原產地機場,包括這些延誤的價值? (提示:使用由基團)?
我有填充類「FlightInfo」超過20000個對象列表名爲「航班」。在FlightInfo類的
屬性是: 串運營商,串地,串目的地,詮釋DepartureDelay,詮釋ArrivalDelay,INT取消,詮釋距離。
我知道我應該通過FlightInfo.Origin對FlightInfo進行分組,而不是通過FlightInfo.DepartureDelay對這些分組進行平均並且比平均延遲時間最高的顯示10,但除了分組外,我完全停留在如何進一步處理上。
非常感謝您的幫助!
這裏是以前的問題之一,我能回答的例子:
問:飛行的加權到來延遲它的到來延遲分的距離。什麼是馬薩諸塞州波士頓最大加權抵達延誤的航班?
答:
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)'。 –