Посмотрев на MSDN, пока неясно мне, как я должен сформировать правильный предикат использовать метод Find() в списке, используя переменную-член Т (где Т класс)Как создать хороший предикат делегата для поиска() что-то в моем списке <T>?
Например:
public class Car
{
public string Make;
public string Model;
public int Year;
}
{ // somewhere in my code
List<Car> carList = new List<Car>();
// ... code to add Cars ...
Car myCar = new Car();
// Find the first of each car made between 1980 and 2000
for (int x = 1980; x < 2000; x++)
{
myCar = carList.Find(byYear(x));
Console.Writeline(myCar.Make + myCar.Model);
}
}
Как выглядит мой предикат «byYear»?
(пример MSDN говорит только о списке динозавров и поиск только для неизменного значения «Saurus» - это не показывает, как передать значение в предикат ...)
EDIT: Я использую VS2005/.NET2.0, поэтому я не думаю, что для меня имеется нотация Лямбда ...
EDIT2: Удалено «1999» в примере, потому что я могу «найти» программно на основе разные значения. Пример изменен на диапазон автомобилей с 1980 по 2000 год с использованием цикла for-do.
Я задавал подобный вопрос [] (http://stackoverflow.com/questions/200151/search-for-object-in-generic-list) и получили некоторые действительно отличные ответы! – 2008-10-28 05:35:38