如何使用 C# 和 Linq 从下一个列表中获取结果
:
var pr = new List<Product>()
{
new Product() {Title="Boots",Color="Red", Price=1},
new Product() {Title="Boots",Color="Green", Price=1},
new Product() {Title="Boots",Color="Black", Price=2},
new Product() {Title="Sword",Color="Gray", Price=2},
new Product() {Title="Sword",Color="Green",Price=2}
};
结果
:
{Title="Boots",Color="Red", Price=1},
{Title="Boots",Color="Black", Price=2},
{Title="Sword",Color="Gray", Price=2}
我知道我应该使用 GroupBy
或 Distinct
,但了解如何获得所需的内容
List<Product> result = pr.GroupBy(g => g.Title, g.Price).ToList(); //not working
List<Product> result = pr.Distinct(...);
请帮忙
最佳答案
它按需要的属性分组并选择:
List<Product> result = pr.GroupBy(g => new { g.Title, g.Price })
.Select(g => g.First())
.ToList();
关于c# - linq distinct 或 group by 多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582391/