Ось спрощена версія того, що я намагаюся зробити:
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 не поверне дійсного значення. Я хочу мати можливість перевірити цю ситуацію, але я усвідомлюю, що не можу порівняти результат із "нулем", оскільки KeyValuePair є структурою. Наступний код недійсний:
if (day == null) {
System.Diagnotics.Debug.Write("Couldn't find day of week");
}
Коли ви намагаєтеся скомпілювати код, Visual Studio видає таку помилку:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<int,string>' and '<null>'
Як я можу перевірити, чи FirstOrDefault повернув дійсне значення?