मैंने आसपास खोज की है और वास्तव में एक स्पष्ट उत्तर नहीं मिला है कि आप कब उपयोग करना चाहते हैं .Firstऔर आप .FirstOrDefaultLINQ के साथ कब उपयोग करना चाहते हैं ।
आप कब उपयोग करना चाहेंगे
.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");