using System; using System.Linq; public class Test { public static void Main() { var list1 = new[] { new { ID = 1 }, new { ID = 2 }, new { ID = 3 } }; var list2 = new[] { new { ID = 1, Name = "Jason" }, new { ID = 1, Name = "Jim" }, new { ID = 2, Name = "Mike" }, new { ID = 3, Name = "Phil" } }; var lst = ( from lst1 in list1 join lst2 in list2 on lst1.ID equals lst2.ID into lstGroup select lstGroup.First() ); foreach(var item in lst) { Console.WriteLine("ID: {0}, Name: {1}", item.ID, item.Name); } } }