Đây là một phiên bản đơn giản của những gì tôi đang cố gắng thực hiện:
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));
Vì 'xyz' không có trong từ điển, phương thức FirstOrDefault sẽ không trả về giá trị hợp lệ. Tôi muốn có thể kiểm tra tình huống này nhưng tôi nhận ra rằng tôi không thể so sánh kết quả với "null" vì KeyValuePair là một chuỗi. Mã sau không hợp lệ:
if (day == null) {
System.Diagnotics.Debug.Write("Couldn't find day of week");
}
Khi bạn cố gắng biên dịch mã, Visual Studio gặp lỗi sau:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<int,string>' and '<null>'
Làm cách nào để kiểm tra xem FirstOrDefault đã trả về giá trị hợp lệ chưa?