首页 > 解决方案 > 等效于“Into”的 Linq 方法

问题描述

我确实有一个 LINQ 查询:

var groupedResult = from address in Address.GetAddresses()
                      group new { City = address.City, HasManyInhabitants = address.Inhabitants > 20 } 
                      by address.City into addressWithInfo
                      select addressWithInfo;

这很好用。但我正在寻找这个查询的方法基础方法。目前我使用

var groupedResult = Address.GetAddresses()
                  .Select(a => new { City = a.City, HasManyInhabitants = a.Inhabitants > 20 })
                  .GroupBy(a => a.City)
                  .Select(a => a);

它有效,但似乎不正确,因为反编译的代码(使用 ILSpy)看起来不相似。

问候,托斯滕

标签: c#linq

解决方案


你只想要这个:

var groupedResult =
    Address
        .GetAddresses()
        .GroupBy(
            address => address.City,
            address => new
            {
                City = address.City,
                HasManyInhabitants = address.Inhabitants > 20
            });

推荐阅读