Voici une version simplifiée de ce que j'essaie de faire:
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));
Puisque 'xyz' n'est pas présent dans le dictionnaire, la méthode FirstOrDefault ne retournera pas de valeur valide. Je veux pouvoir vérifier cette situation mais je me rends compte que je ne peux pas comparer le résultat à "null" car KeyValuePair est une struc. Le code suivant n'est pas valide:
if (day == null) {
System.Diagnotics.Debug.Write("Couldn't find day of week");
}
Nous vous essayez de compiler le code, Visual Studio lève l'erreur suivante:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.KeyValuePair<int,string>' and '<null>'
Comment puis-je vérifier que FirstOrDefault a renvoyé une valeur valide?