using System; using System.Collections.Generic; using System.Linq; public class Test { public class Details { public int id; public string symbol; public string code; public override string ToString() { return string.Format("{0} {1} {2}", id, symbol, code); } } public static void Main() { List
list1 = new List
(); List
list2 = new List
(); list1.Add(new Details() { id=1,symbol="ANSI",code="NITE"}); list1.Add(new Details() { id = 1, symbol = "ANSI", code = "CALGO" }); list1.Add(new Details() { id = 1, symbol = "ANSI", code = "CANT" }); list1.Add(new Details() { id=2,symbol="ANSI",code="NITE"}); list1.Add(new Details() { id = 2, symbol = "ANSI", code = "CALGO" }); list1.Add(new Details() { id = 2, symbol = "ANSI", code = "CANT" }); list2.Add(new Details() { id = 1, symbol = "ANSI", code = "NITE" }); list2.Add(new Details() { id = 1, symbol = "ANSI", code = "CALGO" }); list2.Add(new Details() { id = 2, symbol = "ANSI", code = "NITE" }); foreach (var v in list1.Where(x=> list2.Any(z=>x.id==z.id && x.symbol==z.symbol) && !list2.Any(z => x.id==z.id && x.symbol==z.symbol && x.code==z.code)) ) { Console.WriteLine(v); } } }