中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
广饶县| 娄底市| 芜湖县| 明溪县| 鹤山市| 云和县| 凤翔县| 潮州市| 巴彦县| 富民县| 南康市| 古浪县| 利辛县| 渝北区| 隆林| 新乡市| 昌黎县| 恩平市| 阿克苏市| 通化县| 汝阳县| 冕宁县| 珠海市| 和静县| 密云县| 满城县| 宁陕县| 南部县| 南平市| 同江市| 清河县| 宁河县| 马龙县| 武城县| 资讯| 都匀市| 奉化市| 米脂县| 南城县| 巴楚县| 集安市|