Generics 在条件下连接两个列表
我有以下代码Generics 在条件下连接两个列表,generics,.net-3.5,c#-3.0,Generics,.net 3.5,C# 3.0,我有以下代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestSomethingRelatedToLINQ { class Person : IEqualityComparer<Person> { internal int personID; internal string Perso
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestSomethingRelatedToLINQ
{
class Person : IEqualityComparer<Person>
{
internal int personID;
internal string PersonName;
public bool Equals(Person x, Person y)
{
return x.personID == y.personID;
}
public int GetHashCode(Person obj)
{
return obj.personID.GetHashCode();
}
}
class Program
{
static void Main(string[] args)
{
List<Person> list1 = new List<Person>{
new Person{personID = 1 , PersonName = "Ali"},
new Person{personID = 2 , PersonName = "Ali1"},
new Person{personID = 3 , PersonName = "Ali2"}
};
List<Person> list2 = new List<Person>{
new Person{personID = 4 , PersonName = "Habib1"},
new Person{personID = 2 , PersonName = "Habib2"},
new Person{personID = 5 , PersonName = "Habib3"}
};
}
}
}
知道如何使用它吗?首先调用LINQ Concat,将列表2附加到列表1中 然后调用LINQ Distinct,这将删除重复的条目(前者或后者)
建议您使用的类,您只需实现IEqualityComparer接口。非常感谢您的建议,在修复它后,我在某些方面弄错了,效果非常好
1, Ali
2, Ali1
3, Ali2
4, Habib1
5, Habib3