在 Linq 中访问 IEnumerable 时出现问题
本文关键字:问题 IEnumerable Linq 访问 | 更新日期: 2023-09-27 18:35:04
我在Visual Studio 2013中有以下代码:
IEnumerable<Brouwer> brouwers = Bierhalle.GetBrouwers();
每个布劳威尔都有一份啤酒清单。
现在我需要从每个布劳威尔那里获取该列表,并打印该列表。
所以我有这个来打印啤酒:
private static void PrintBieren(IEnumerable<Bier> bieren)
{
foreach (Bier b in bieren)
Console.WriteLine(b.Naam + " - " + b.AlcoholPercentage);
}
但是我怎样才能得到那份啤酒清单呢?我如何按名称订购?
我现在有了这个,但这会产生一个 IList,我需要 IEnumerable:
IEnumerable<Bier> bieren = from b in brouwers
select b.Bieren;
您可以这样做来按名称订购啤酒:
IEnumerable<Bier> bieren = brouwers.SelectMany(b => b.Bieren)
.OrderBy(bi => bi.Naam);
或使用您那里的查询理解样式:
IEnumerable<Bier> bieren = from brouwer in brouwers
from bier in brouwer.Bieren
orderby bier.Naam
select bier;