我是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)'。 –