Comment obtenir IEnumerable les valeurs de la liste?
J'ai un IEnumerable liste liste. Il conserve les valeurs de l'échantillon:
Je veux accéder à et de céder à toutes les variables ces Comte, les valeurs Début et Fin, à chaque fois que je veux. Comment puis-je faire cela?
- Pas clair ce que vous demandez. Vous pouvez y accéder quand vous le souhaitez en les lisant à partir des objets.
- Et qu'est-ce que votre tentative infructueuse?
- Ne serait pas
list[i].Count
/list[i].Start
/list[i].End
travail??? - Avec LINQ, vous pouvez visiter cette liste et la carte à une nouvelle classe d'où vous pouvez accéder à partir de n'importe où. Après cela, vous avez juste besoin d'appeler ToList() sur ce IEnumerable.
- J'ai essayé ceci: foreach (var v dans la liste) // également la liste[i] { cnt= v. Comte; strt= v. Démarrer; nd = v. End; }
Vous devez vous connecter pour publier un commentaire.
La
IEnumerable
lui-même n'a pasCount
,Start
, ouEnd
. C'est éléments, de sorte que vous aurez besoin pour identifier l'élément dans la collection à partir de laquelle vous souhaitez lire ces valeurs. Par exemple, pour lire les valeurs sur le premier élément:Ou si vous souhaitez obtenir une collection de tous la
Count
valeurs, quelque chose comme ceci:Vous êtes d'exploitation sur une collection d'éléments, pas un seul élément. Donc, pour obtenir des informations à partir de n'importe quel élément vous devez d'abord vous identifier à partir de la collection. Et il y a beaucoup de méthodes vous pouvez la chaîne de concert pour identifier tout élément ou ensemble d'éléments.
First()
va lever une exception si la collection est vide. Il vaut la peine de bricoler avec tous lesIEnumerable<T>
extensions disponibles pour vous et voir comment ils se comportent. Le chaînage ensemble fournit un puissant langage d'interrogation des collections.Utiliser un
loop
?Ou de l'utilisation
ToList
et la convertir enList<T>
ensuite, vous pouvez accéder à votre valeur de l'indice:Aussi, si vous connaissez le type, vous pouvez lancer votre
IEnumerable
àIList<T>
pour l'utilisation de l'indexeur.Il est possible d'accéder à la liste avec
Linq
à l'aide de l'espace de nomscomme
Essayer: