List <>. Find (дает первое совпадение), а List.FindAll () - все совпадения.
Пример со списком сложных типов выглядит следующим образом:
У меня есть отчет класса:
public class Report
{
public string ReportName;
public ReportColumnList ReportColumnList;
}
и список отчетов
List<Report> reportList;
Чтобы найти элементы в списке, где ReportName = 'MyReport', код будет:
string reportName = "MyReport";
List<Report> myReports = reportList.FindAll(delegate(Report obj) { return obj.ReportName == reportName; });
Чтобы получить первый отчет:
Report rc = reportList.Find(delegate(Report obj) { return obj.ReportName == reportName; });
Обратите внимание, что объект, передаваемый делегату, должен иметь тип , которым заполнен список .