是的,C# 的 DistinctBy
方法可以處理復雜數據結構。DistinctBy
是 LINQ 擴展方法,它允許你根據指定的屬性或表達式對集合中的元素進行去重。這對于處理復雜數據結構非常有用,因為它允許你根據對象的一個或多個屬性來區分不同的元素。
以下是一個使用 DistinctBy
處理復雜數據結構的示例:
using System;
using System.Collections.Generic;
using System.Linq;
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
List<Person> people = new List<Person>
{
new Person { Id = 1, Name = "Alice", Age = 30 },
new Person { Id = 2, Name = "Bob", Age = 25 },
new Person { Id = 3, Name = "Alice", Age = 30 },
new Person { Id = 4, Name = "Charlie", Age = 22 }
};
var distinctPeople = people.DistinctBy(p => p.Name);
foreach (var person in distinctPeople)
{
Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}");
}
}
}
在這個示例中,我們有一個 Person
類,它具有 Id
、Name
和 Age
屬性。我們創建了一個包含四個 Person
對象的列表,并使用 DistinctBy
方法根據 Name
屬性對它們進行去重。最后,我們遍歷去重后的列表并輸出每個對象的屬性。