मैंने आसपास खोज की है और वास्तव में एक स्पष्ट उत्तर नहीं मिला है कि आप कब उपयोग करना चाहते हैं .First
और आप .FirstOrDefault
LINQ के साथ कब उपयोग करना चाहते हैं ।
आप कब उपयोग करना चाहेंगे
.First
? केवल तभी जब आप अपवाद को पकड़ना चाहते हैं यदि कोई परिणाम नहीं लौटा है?var result = List.Where(x => x == "foo").First();
और आप कब उपयोग करना चाहेंगे
.FirstOrDefault
? यदि आप हमेशा डिफ़ॉल्ट प्रकार चाहते हैं यदि कोई परिणाम नहीं है?var result = List.Where(x => x == "foo").FirstOrDefault();
और उस बात के लिए, टेक के बारे में क्या?
var result = List.Where(x => x == "foo").Take(1);
Single
और SingleOrDefault
। मुझे नफरत है जब लोग First
वास्तव में मतलब होने पर उपयोग करते हैं Single
; )
.FirstOrDefault()
हमेशा उपयोग करने से आपको अधिक सार्थक अपवाद फेंकने का अवसर मिलता है। यदि एक अनुक्रम अपवाद को फेंक दिया जाता है और .First()
एक विधि में एक से अधिक है , तो यह समझना मुश्किल हो सकता है कि कौन सा कथन समस्या है।
.First
और.FirstOrDefault
दोनों तर्क के रूप में भविष्यवाणी करते हैं, इसलिएvar result = List.Where(x => x == "foo").First();
इसे फिर से लिखा जा सकता हैvar result = List.First(x => x == "foo");