2011-06-17 2 views
0

Je le tableau suivantLambda ne fonctionne pas sur la matrice

Dim items() = { 
           New CheckedListBoxItem("NYC", False), 
           New CheckedListBoxItem("CHI", False), 
           New CheckedListBoxItem("PHL", False), 
           New CheckedListBoxItem("SFO", False), 

       } 

Je suis en train d'interroger contre comme celui-ci

 Try 
      Dim item As CheckedListBoxItem = items.ToList().Where(Function(x) x.Value = "PHL") 
      MsgBox(item.Value) 
     Catch ex As Exception 
      MsgBox(ex.Message) 
     End Try 

Je reçois l'erreur

valeur ne peut pas être nul.

Nom du paramètre: Source

J'ai aussi essayé

Dim item As CheckedListBoxItem = items.FirstOrDefault(Function(x) x.Value.ToString() = "PHL") 

Qu'est-ce que je manque. J'ai juste besoin d'interroger la liste pour obtenir un élément et changer son état vérifié de faux à vrai.

Répondre

1

que vous devez faire:

item = items.ToList().Where(Function(x) x.Value = "PHL").First 

MsgBox(item.Value) 

First renvoie l'élément premier de la collection ou jette une exception si la collection est vide.

FirstOrDefault renvoie le premier élément de la collection ou l'instance par défaut pour le type si la collection est vide.

Questions connexes