class Customer { public int ID { get; set; } public static bool Test(Customer x) { return x.ID == 5; } } ... List custs = new List(); custs.Add(new Customer() { ID = 1 }); custs.Add(new Customer() { ID = 5 }); custs.First(new Func(delegate(Customer x) { return x.ID == 5; })); custs.First(new Func((Customer x) => x.ID == 5)); custs.First(delegate(Customer x) { return x.ID == 5; }); custs.First((Customer x) => x.ID == 5); custs.First(x => x.ID == 5); custs.First(Customer.Test); //csharp/4884