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

溫馨提示×

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
西乡县| 长岛县| 将乐县| 涞水县| 乐安县| 会昌县| 宜良县| 绥阳县| 汶上县| 沅江市| 陈巴尔虎旗| 九龙城区| 遂宁市| 旬阳县| 二连浩特市| 大田县| 布拖县| 卢湾区| 若尔盖县| 安泽县| 清新县| 保德县| 宁德市| 平湖市| 云阳县| 罗甸县| 富蕴县| 栾城县| 朝阳市| 明水县| 陈巴尔虎旗| 通化县| 富平县| 柳州市| 泰兴市| 扎鲁特旗| 翁牛特旗| 天全县| 南京市| 中卫市| 广丰县|