यहाँ एक सरल संस्करण है जो मैं करने की कोशिश कर रहा हूँ:
var days = new Dictionary<int, string>();
days.Add(1, "Monday");
days.Add(2, "Tuesday");
...
days.Add(7, "Sunday");
var sampleText = "My favorite day of the week is 'xyz'";
var day = days.FirstOrDefault(x => sampleText.Contains(x.Value));
चूंकि 'xyz' शब्दकोष में मौजूद नहीं है, इसलिए FirstOrDefault विधि मान्य मान नहीं लौटाएगी। मैं इस स्थिति के लिए जाँच करने में सक्षम होना चाहता हूँ, लेकिन मुझे एहसास है कि मैं "null" परिणाम की तुलना नहीं कर सकता क्योंकि KeyValuePair एक स्पष्ट है। निम्नलिखित कोड अमान्य है:
if (day == null) {
System.Diagnotics.Debug.Write("Couldn't find day of week");
}
हम आपको कोड संकलित करने का प्रयास करते हैं, विजुअल स्टूडियो निम्नलिखित त्रुटि फेंकता है:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<int,string>' and '<null>'
मैं कैसे जाँच सकता हूँ कि FirstOrDefault ने एक वैध मान लौटाया है?