阅读量:2
C# 中的 DistinctBy 是一个 LINQ 方法,用于从集合中删除重复项,同时保持元素的顺序。它接受一个 lambda 表达式作为参数,该表达式用于确定集合中的唯一元素。以下是一些 DistinctBy 的常见用法:
-
删除列表中的重复项:
var list = new List<int> { 1, 2, 2, 3, 4, 4, 5 }; var distinctList = list.DistinctBy(x => x); Console.WriteLine(string.Join(", ", distinctList)); // 输出: 1, 2, 3, 4, 5 -
根据属性删除重复项:
假设有一个
Person类,其中包含Name和Age属性:public class Person { public string Name { get; set; } public int Age { get; set; } }可以使用
DistinctBy根据Name属性删除重复项:var people = new List{ new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 }, new Person { Name = "Alice", Age = 30 } }; var distinctPeople = people.DistinctBy(p => p.Name); Console.WriteLine(string.Join(", ", distinctPeople.Select(p => p.Name))); // 输出: Alice, Bob -
结合其他 LINQ 方法使用:
可以将
DistinctBy与其他 LINQ 方法(如OrderBy)结合使用,以实现更复杂的功能:var numbers = new List<int> { 5, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 }; var distinctNumbers = numbers .OrderBy(x => x) .DistinctBy(x => x); Console.WriteLine(string.Join(", ", distinctNumbers)); // 输出: 1, 2, 3, 4, 5, 6, 9
总之,DistinctBy 是一个非常有用的方法,可以帮助你轻松地删除集合中的重复项,同时保持元素的顺序。
以上就是关于“c# distinctby有哪些用法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm