using System.Collections.Generic;
public int Index { get; set; }
public bool State { get; set; }
public static void Main()
List<A> list1 = new List<A>()
new A(){ Index = 1, State = false },
new A(){ Index = 2, State = false },
new A(){ Index = 3, State = true },
new A(){ Index = 4, State = false },
new A(){ Index = 5, State = false },
List<A> list2 = new List<A>()
new A(){ Index = 1, State = false },
new A(){ Index = 2, State = true },
new A(){ Index = 3, State = true },
new A(){ Index = 4, State = false },
new A(){ Index = 5, State = false },
new A(){ Index = 6, State = true },
new A(){ Index = 7, State = false },
var list = list1.Concat(list2);
group a by a.Index into g
Value = g.Where(x => x.State == true).Count() > 0 ? true : false
Dictionary<int, bool> dict1 = re.ToDictionary(x => x.Key, y => y.Value);
foreach (var item in dict1)
Console.WriteLine("{0} {1}", item.Key, item.Value);