Tak nevím, mám tenhle testovací kód:
void Main()
{
var list1 = new List<Dummy> {
new Dummy { Polozka = "a" },
new Dummy { Polozka = "b" },
new Dummy { Polozka = "c" },
new Dummy { Polozka = "d" }
};
var list2 = new List<Dummy> {
new Dummy { Polozka = "a" },
new Dummy { Polozka = "b" },
new Dummy { Polozka = "e" },
new Dummy { Polozka = "f" }
};
var diff1 = list1.Where(t => !list2.Any(r => t.Polozka == r.Polozka));
var diff2 = list2.Where(t => !list1.Any(r => t.Polozka == r.Polozka));
Console.WriteLine(diff1);
Console.WriteLine(diff2);
}
public class Dummy
{
public string Polozka { get; set; }
}
Který vypisuje:Teda přesně to, co bych od toho očekával.IEnumerable<Dummy> (2 items)
Polozka
c
d
IEnumerable<Dummy> (2 items)
Polozka
e
f