У меня есть два отдельных списка пользовательских объектов. В этих двух отдельных списках могут быть некоторые объекты, которые идентичны между двумя списками, за исключением одного поля («id»). Я хотел бы знать, как можно запросить эти два списка, чтобы найти это перекрытие. Я приложил код, который поможет уточнить. Мы ценим любые предложения.Linq: найти похожие объекты из двух разных списков
namespace ConsoleApplication1
{
class userObj
{
public int id;
public DateTime BirthDate;
public string FirstName;
public string LastName;
}
class Program
{
static void Main(string[] args)
{
List<userObj> list1 = new List<userObj>();
list1.Add(new userObj()
{
BirthDate=DateTime.Parse("1/1/2000"),
FirstName="John",
LastName="Smith",
id=0
});
list1.Add(new userObj()
{
BirthDate = DateTime.Parse("2/2/2000"),
FirstName = "Jane",
LastName = "Doe",
id = 1
});
list1.Add(new userObj()
{
BirthDate = DateTime.Parse("3/3/2000"),
FirstName = "Sam",
LastName = "Smith",
id = 2
});
List<userObj> list2 = new List<userObj>();
list2.Add(new userObj()
{
BirthDate = DateTime.Parse("1/1/2000"),
FirstName = "John",
LastName = "Smith",
id = 3
});
list2.Add(new userObj()
{
BirthDate = DateTime.Parse("2/2/2000"),
FirstName = "Jane",
LastName = "Doe",
id = 4
});
List<int> similarObjectsFromTwoLists = null;
//Would like this equal to the overlap. It could be the IDs on either side that have a "buddy" on the other side: (3,4) or (0,1) in the above case.
}
}
}
Имхо он ничего не хочет с идентификатором. Он просто хочет идентичные наборы без ID в сравнении. Другими словами: объединение со всеми свойствами, кроме ID. – Marco
Спасибо! Очень полезно! – BenjiFB