亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c# distinctby能處理嵌套對象嗎

c#
小樊
81
2024-11-28 17:41:14
欄目: 編程語言

C# 的 LINQ 方法 DistinctBy 不能直接處理嵌套對象。但是,你可以通過使用 SelectDistinct 方法組合來實現處理嵌套對象的功能。以下是一個示例:

假設你有一個類 Person,其中包含一個嵌套的 Address 類:

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
}

public class Person
{
    public string Name { get; set; }
    public Address Address { get; set; }
}

現在,假設你有一個 List<Person>,你想要根據 Address 類的屬性(例如,StreetCity)獲取不重復的 Person 對象。你可以這樣做:

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

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice", Address = new Address { Street = "1st", City = "New York" } },
            new Person { Name = "Bob", Address = new Address { Street = "2nd", City = "New York" } },
            new Person { Name = "Charlie", Address = new Address { Street = "1st", City = "Los Angeles" } },
            new Person { Name = "David", Address = new Address { Street = "3rd", City = "New York" } }
        };

        var distinctPeople = people
            .Select(p => new
            {
                p.Name,
                p.Address.Street,
                p.Address.City
            })
            .Distinct();

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

在這個示例中,我們首先使用 Select 方法創建一個新的匿名對象,其中包含 NameStreetCity 屬性。然后,我們使用 Distinct 方法根據這些屬性獲取不重復的對象。最后,我們遍歷 distinctPeople 列表并輸出結果。

0
朝阳县| 正镶白旗| 和政县| 扎兰屯市| 改则县| 淳化县| 中牟县| 霸州市| 清水县| 敦化市| 鄂尔多斯市| 梁山县| 邮箱| 方城县| 谢通门县| 利辛县| 余干县| 蕲春县| 渝中区| 唐海县| 彩票| 乡宁县| 阜宁县| 即墨市| 金秀| 察哈| 门源| 阿鲁科尔沁旗| 昭觉县| 津市市| 福州市| 阿克陶县| 连山| 茌平县| 昔阳县| 苍南县| 高邑县| 福贡县| 渝中区| 丹东市| 华宁县|