using System.Collections.Generic;
public static void Main()
List<Contact> contacs = new List<Contact>
new Contact { id =1, Number = 1234, ContactID = 5},
new Contact { id =2, Number = 9873, ContactID = 6},
new Contact { id =3, Number = 1234, ContactID = 7},
new Contact { id =4, Number = 9873, ContactID = 6},
new Contact { id =5, Number = 1234, ContactID = 8},
var result = from c in contacs
group c by c.Number into g
let count = g.GroupBy(x => x.ContactID).Where(x => x.Count() == 1).Count()
foreach (var item in result)
Console.WriteLine("Number: {0}, Count: {1}", item.Number, item.Count);
public int id { get; set; }
public int Number { get; set; }
public int ContactID { get; set; }