返回基于三个不同字段的非区分对象

本文关键字:非区 对象 字段 于三个 返回 | 更新日期: 2023-09-27 17:50:41

给定以下内容,我希望能够根据两个字段提取非不同的值:Name和Country。在这个例子中,我想返回列表中的前两个。

List<City> cities = new List<City>
{
new City{ Name = "Sydney", Country = "Australia", Galaxy = "Mine"  },
new City{ Name = "Sydney", Country = "Australia", Galaxy = "Yours" },
new City{ Name = "New York", Country = "USA", Galaxy = "Ours"},
new City{ Name = "Paris", Country = "France", Galaxy = "Theirs" },
};

返回基于三个不同字段的非区分对象

此查询将按名称和国家(即前两个)返回非不同的城市:

IEnumerable<City> query = 
    cities.GroupBy(c => new { c.Name, c.Country })
          .Where(g => g.Count() > 1)
          .SelectMany(g => g);