Когда у меня есть 2 List
объектов, я могу использовать Intersect
и Кроме
на них напрямую, чтобы получить вывод IEnumerable
. Это достаточно просто, но что, если мне нужно пересечение / дизъюнкция для чего-то более сложного?
Пример, попытка получить коллекцию объектов ClassA
, которая является результатом пересечения на ClassA
объект AStr1
и ClassB
объект BStr
; :
public class ClassA {
public string AStr1 { get; set; }
public string AStr2 { get; set; }
public int AInt { get; set; }
}
public class ClassB {
public string BStr { get; set; }
public int BInt { get; set; }
}
public class Whatever {
public void xyz(List<ClassA> aObj, List<ClassB> bObj) {
// *** this line is horribly incorrect ***
IEnumberable<ClassA> result =
aObj.Intersect(bObj).Where(a, b => a.AStr1 == b.BStr);
}
}
Как я могу исправить отмеченную линию, чтобы достичь этого пересечения.