After looking on MSDN, it\'s still unclear to me how I should form a proper predicate to use the Find() method in List using a member variable of T (where T is a class)
Hmm. Thinking more about it, you could use currying to return a predicate.
Func> byYear = i => (c => c.Year == i);
Now you can pass the result of this function (which is a predicate) to your Find method:
my99Car = cars.Find(byYear(1999)); my65Car = cars.Find(byYear(1965));