using System; using System.Collections.Generic; using System.Linq; public class Test { public static void Main() { var people = new List { new Person { ID = 1, Name = "Fred1" }, new Person { ID = 2, Name = "Fred2" }, new Person { ID = 3, Name = "Fred3" }, new Person { ID = 4, Name = "Fred4" }, new Person { ID = 5, Name = "Fred5" }, new Person { ID = 6, Name = "Fred6" }, new Person { ID = 7, Name = "Fred7" }, new Person { ID = 8, Name = "Fred8" }, new Person { ID = 9, Name = "Fred9" }, new Person { ID = 10, Name = "Fred10" } }; List toRemove = new List { 3, 4, 5 }; people = people.Where(p => !toRemove.Contains(p.ID)).ToList(); people.ForEach(p => Console.WriteLine("Person {0} is called {1}", p.ID, p.Name)); } } public class Person { public int ID { get; set; } public string Name { get; set; } }