सूची <> .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; });
ध्यान दें कि वस्तु प्रतिनिधि के लिए पारित प्रकार जिसके साथ सूची से भर जाता है की होना चाहिए।
स्रोत
2009-05-22 12:09:44
अच्छा समाधान लेकिन क्या यह आंतरिक रूप से किसी भी तरह का foreach उपयोग नहीं करेगा? हालांकि मुझे लगता है कि केथवार का मतलब है कि वह खुद को पुन: प्रयास नहीं करना चाहता था – RobV
लम्दास के लिए नया, आप मेरी सूची कैसे कर सकते हैं। FindAll (l => l.Length> 5) –
@RobV: यह एक 'सामान्य' है आंतरिक रूप से 'लूप के लिए। अगर मैं गलत हूं, तो मुझे सही करो। – Razzie