C# lambda表达式中的Linq Group by
我有C# lambda表达式中的Linq Group by,c#,linq,lambda,C#,Linq,Lambda,我有型号以下列表: Id Name ---------------------------------------------------- 1 john 1 john 1 john 2 jennifer 2 jennifer 3
型号
以下列表:
Id Name
----------------------------------------------------
1 john
1 john
1 john
2 jennifer
2 jennifer
3 smith
我想将模型
分组以显示以下结果
Id Name
----------------------------------------------------
1 john
2 jennifer
3 smith
如果
Model
实现了,那么它就微不足道了:
var noDuplicates = list.Distinct();
如果
Model
实现该接口没有意义,您可以使用Distinct
,允许您在侧面指定相等标准。的文档中有一个关于如何实现此类的示例。如果Model
实现了,那么它很简单:
var noDuplicates = list.Distinct();
ILookup<int, string> lookup =
list
.ToLookup(p => p.Id,
p => p.Name);
foreach (IGrouping<int, string> group in lookup)
{
Console.WriteLine(group.Key);
foreach (string name in group)
Console.WriteLine(" {0}", name);
}
如果Model
实现该接口没有意义,您可以使用Distinct
,允许您在侧面指定相等标准。的文档中有一个关于如何实现此类功能的示例。ILookup查找=
ILookup<int, string> lookup =
list
.ToLookup(p => p.Id,
p => p.Name);
foreach (IGrouping<int, string> group in lookup)
{
Console.WriteLine(group.Key);
foreach (string name in group)
Console.WriteLine(" {0}", name);
}
列表
.ToLookup(p=>p.Id,
p=>p.Name);
foreach(查找中的I分组组)
{
控制台写入线(组键);
foreach(组中的字符串名称)
Console.WriteLine(“{0}”,名称);
}
ILookup查找=
列表
.ToLookup(p=>p.Id,
p=>p.Name);
foreach(查找中的I分组组)
{
控制台写入线(组键);
foreach(组中的字符串名称)
Console.WriteLine(“{0}”,名称);
}
来自型号中的v
按v.id将v分组为g
从模型中的v中选择g
按v.id将v分组为g
选择g@Morteza。。谢谢您的回答,但请确保当答案只有一行或更少的时候,它应该是一个评论,希望您能理解我:)@Morteza。。感谢您的回答,但请确保当答案只有一行或更少的时候,它应该是一个评论,希望您得到我:)