क्या कोई लिंक्स लैम्ब्डा खोज विधि है जो एक सूची खोजते समय अपवाद फेंकने की बजाय शून्य लौटाती है? (फेंके जाने से अपवाद से बचने के लिए)खोजें() और पहले() अपवाद फेंकता है, बदले में कैसे बदलेगा?
if (list.Exists(x => x.Foo == Foo))
{
var listItem = list.Find(x => x.Foo == Foo);
}
यह सिर्फ अभिव्यक्ति को दोहराने के लिए गलत लगता है:
मेरे वर्तमान समाधान की तरह कुछ है।
कुछ की तरह ...
var listItem = list.Find(x => x.Foo == Foo);
if (listItem != null)
{
//Do stuff
}
... मेरे लिए बेहतर महसूस करता है। या यह सिर्फ मैं हूं?
क्या आपके पास इस पर बेहतर दृष्टिकोण है? (समाधान सिर्फ एक बेहतर समाधान अच्छा है अशक्त लौटने किए जाने की जरूरत नहीं है,)
और भूल नहीं है - अगर आपकी सूची है कि जेनेरिक प्रकार ([डिफ़ॉल्ट मान तालिका] के लिए डिफ़ॉल्ट मान (http://msdn.microsoft शामिल होंगे। com/en-us/library/83fhsxwc.aspx)), आप यह नहीं बता सकते कि मान मौजूद है या नहीं 'ढूंढें' विधि का उपयोग नहीं कर रहा है। आपको उन स्थितियों में 'FindIndex',' Exists 'या' Contains' का उपयोग करना चाहिए। – HuBeZa