Comment puis-je cast ListView.Items
à un List<string>
?
C'est ce que j'ai essayé:
List<string> list = lvFiles.Items.Cast<string>().ToList();
mais j'ai reçu ce message d'erreur:
Impossible de convertir l'objet de type 'System.De Windows.Les formulaires.ListViewItem' de type 'System.Chaîne'.
source d'informationauteur user2214609
Un
ListViewItemCollection
est exactement ce que cela ressemble - une collection deListViewItem
éléments. C'est pas une collection de chaînes. Votre code ne fonctionne pas au moment de l'exécution pour la même raison que ce code serait un échec au moment de la compilation:Si vous voulez une liste de chaînes de caractères, chacun de qui est prise à partir de la
Text
propriété d'unListViewItem
vous pouvez le faire facilement:La
Cast
méthode essentiellement essayez d'effectuer une boîte/unbox, de sorte que ce sera un échec si les éléments de la liste ne sont pas déjà des chaînes. Essayez plutôt ceci:Ou ce
Essayer quelque chose comme cela
Essayez ceci à l'aide de la
Select
méthode:pour le texte de la liste:
pour les valeurs de la liste:
Ou peut-être, pour les deux: