91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# distinctby能處理空值嗎

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

在C#中,DistinctBy 方法是 LINQ 擴展方法,用于根據指定的屬性對集合中的元素進行去重。它本身并不直接處理空值。但是,你可以通過在查詢中使用 DefaultIfEmpty 方法來處理空值。

例如,假設你有一個名為 Person 的類,其中包含一個名為 Name 的字符串屬性,你想要根據 Name 屬性對 Person 對象進行去重,同時處理可能的空值。你可以這樣做:

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

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

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice", Age = 30 },
            new Person { Name = null, Age = 25 },
            new Person { Name = "Bob", Age = 30 },
            new Person { Name = "Alice", Age = 28 }
        };

        var distinctPeople = people
            .Select(p => p.Name)
            .DistinctBy(name => name)
            .Select(name => new Person { Name = name, Age = -1 }) // 使用 -1 表示空值
            .ToList();

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

在這個示例中,我們首先使用 Select 方法從 Person 對象列表中提取 Name 屬性。然后,我們使用 DistinctBy 方法根據 Name 屬性對名稱進行去重。接下來,我們使用 Select 方法將空名稱替換為 -1,表示空值。最后,我們將結果轉換回 Person 對象列表并輸出。

0
赣州市| 翼城县| 晋宁县| 玛多县| 洛扎县| 临安市| 子长县| 五大连池市| 宣威市| 盐池县| 道孚县| 柏乡县| 伊吾县| 普定县| 波密县| 马关县| 岑巩县| 绥宁县| 东乡县| 安图县| 鄂托克前旗| 故城县| 丹寨县| 怀宁县| 常山县| 寻甸| 榆林市| 钟祥市| 昌都县| 长泰县| 北海市| 金乡县| 海伦市| 治县。| 海丰县| 收藏| 东乡族自治县| 万山特区| 天全县| 绥德县| 天峻县|