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

溫馨提示×

C#中怎么使用Intersect自定義對象列表

c#
小億
94
2024-04-02 10:01:58
欄目: 編程語言

在C#中使用Intersect方法對自定義對象列表進行交集操作,需要重寫自定義對象的Equals和GetHashCode方法,以確保比較兩個對象是否相等的準確性。

假設有一個自定義對象Person,包含屬性Id和Name,示例代碼如下:

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

    public override bool Equals(object obj)
    {
        if (obj == null || GetType() != obj.GetType())
        {
            return false;
        }

        Person other = (Person)obj;
        return Id == other.Id && Name == other.Name;
    }

    public override int GetHashCode()
    {
        return Id.GetHashCode() ^ Name.GetHashCode();
    }
}

然后創建兩個Person對象列表,使用Intersect方法找到它們的交集:

List<Person> list1 = new List<Person>
{
    new Person { Id = 1, Name = "Alice" },
    new Person { Id = 2, Name = "Bob" },
    new Person { Id = 3, Name = "Charlie" }
};

List<Person> list2 = new List<Person>
{
    new Person { Id = 2, Name = "Bob" },
    new Person { Id = 3, Name = "Charlie" },
    new Person { Id = 4, Name = "David" }
};

var intersectList = list1.Intersect(list2).ToList();

foreach (var person in intersectList)
{
    Console.WriteLine(person.Id + " " + person.Name);
}

以上代碼將輸出:

2 Bob
3 Charlie

0
通榆县| 外汇| 抚顺县| 公主岭市| 略阳县| 灵川县| 密山市| 盐池县| 同江市| 绵竹市| 怀柔区| 南通市| 北碚区| 墨脱县| 五原县| 连城县| 开平市| 油尖旺区| 泗洪县| 婺源县| 临湘市| 从化市| 万山特区| 舟曲县| 安西县| 开江县| 鄄城县| 闵行区| 藁城市| 炉霍县| 黄浦区| 西青区| 新化县| 二连浩特市| 凤庆县| 铜山县| 桑植县| 阿鲁科尔沁旗| 元江| 诸城市| 四平市|