Berikut adalah versi sederhana dari apa yang saya coba lakukan:
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));
Karena 'xyz' tidak ada dalam kamus, metode FirstOrDefault tidak akan mengembalikan nilai yang valid. Saya ingin dapat memeriksa situasi ini tetapi saya menyadari bahwa saya tidak dapat membandingkan hasilnya dengan "null" karena KeyValuePair adalah sebuah struc. Kode berikut tidak valid:
if (day == null) {
System.Diagnotics.Debug.Write("Couldn't find day of week");
}
Kami Anda mencoba untuk mengkompilasi kode, Visual Studio membuat kesalahan berikut ini:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<int,string>' and '<null>'
Bagaimana saya dapat memeriksa bahwa FirstOrDefault telah mengembalikan nilai yang valid?