c#

c# distinctby怎么实现

小樊
81
2024-11-28 18:32:14
栏目: 编程语言

在C#中,可以使用LINQ的DistinctBy方法来实现对集合中的元素进行去重。这个方法需要一个lambda表达式来指定根据哪个属性或条件进行去重。下面是一个简单的示例:

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 = 28 },
            new Person { Name = "John", Age = 30 },
            new Person { Name = "Alice", Age = 25 }
        };

        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类,包含NameAge属性。我们创建了一个包含四个Person对象的列表,并使用DistinctBy方法根据Name属性进行去重。最后,我们遍历去重后的集合并输出每个对象的名称和年龄。

0
看了该问题的人还看了