温馨提示×

c# distinctby是什么

c#
小樊
94
2024-11-28 18:31:15
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,DistinctBy是一个扩展方法,它属于System.Linq命名空间。这个方法用于从集合中删除重复项,但只根据指定的属性进行比较。这在处理具有多个属性的对象时非常有用,特别是当你想要根据其中一个属性来区分重复项时。

DistinctBy方法接受两个参数:一个是要进行去重操作的集合,另一个是用于确定重复项的属性。这个方法返回一个新的集合,其中不包含重复的元素。

下面是一个使用DistinctBy方法的示例:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "John", Age = 30 },
            new Person { Name = "Jane", Age = 25 },
            new Person { Name = "John", Age = 30 }
        };

        var distinctPeople = people.DistinctBy(p => p.Name);

        foreach (var person in distinctPeople)
        {
            Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
        }
    }
}

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

在这个示例中,我们有一个Person对象列表,其中包含重复的Name属性值。通过使用DistinctBy方法,我们可以根据Name属性创建一个新的不重复的列表。输出结果如下:

Name: John, Age: 30
Name: Jane, Age: 25

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c# distinctby有哪些用法

0