ajouter une liste dans une autre liste vb.net
J'ai une liste, comme suit, et je veux l'ajouter à une autre liste:
Dim listRecord As New List(Of String)
listRecord.Add(txtRating.Text)
listRecord.Add(txtAge.Text)
listRace.Add(listRecord)
pour obtenir quelque chose comme {{r1,a1},{r2,a2},{r3,a3}}
, comment puis-je atteindre dans VB.Net?
Voulez-vous un) pour ajouter une liste à la fin de l'autre, ou b) une liste où chaque élément est une liste?
{{x1,y1,z1},{x2,y2,z2},{x3,y3,z3},{x4,y4,z4},{x5,y5,z5},{x6,y6,z6},{etc}}
Au lieu de listes imbriquées, ce que vous avez vraiment à faire est de créer une Classe qui représente un record, et ensuite d'avoir une seule liste d'enregistrements. Un peu plus d'efforts initiaux mais cela rendra votre vie beaucoup plus facile après.
{{x1,y1,z1},{x2,y2,z2},{x3,y3,z3},{x4,y4,z4},{x5,y5,z5},{x6,y6,z6},{etc}}
Au lieu de listes imbriquées, ce que vous avez vraiment à faire est de créer une Classe qui représente un record, et ensuite d'avoir une seule liste d'enregistrements. Un peu plus d'efforts initiaux mais cela rendra votre vie beaucoup plus facile après.
OriginalL'auteur Naad Dyr | 2012-02-28
Vous devez vous connecter pour publier un commentaire.
Je suppose que de votre question, vous voulez des Listes imbriquées, de ne pas simplement ajouter une liste à la fin de l'autre?
Espère que cette aide
Mise à jour
La lecture est comme un accès à toute autre liste.
Pour obtenir le premier champ dans le premier enregistrement
deuxième champ dans le premier enregistrement
etc . . .
OriginalL'auteur Binary Worrier
Vous pouvez utiliser la Liste de AddRange
ou Énumérables est Concat:
si vous voulez éliminer les doublons utiliser Énumérable est Union:
La différence entre
AddRange
etConcat
est:Énumérable.Concat
produit une nouvelle séquence(bien, en fait, ne produisent pas tout de suite à causeConcat
'exécution différée, ça ressemble plus à une requête) et vous devez les utiliserToList
pour créer une nouvelle liste.Liste.AddRange
ajoute à la mêmeList
donc transforme l'original.Je ne suis pas sûr si je vous comprends corretcly. Vous conserver la référence à l'listRecord. Donc, vous pouvez toujours lire les articles par le biais de l'indice:
Dim item=listRecord(10)
j'ai une Boucle For et dans chaque boucle, je veux ajouter une liste à la fin de l'autre (dans mon cas, ajouter listRecord à listRace) l'obtention de listRace={{listrecord1},{listrecord2},{listrecord3}}
Ok, vous avez besoin de listes imbriquées comme je peux le voir dans votre réponse. Vous pouvez obtenir la référence à votre liste d'origine via la liste externe de l'index.
listrecord3=listRecord(1)(2)
(asssuminglistRace
est la deuxième liste de la liste externe)j'ai fait une erreur, listrecord et listRecord est la même liste :/ mais toujours listRecord(x)(y) n'a pas l'air de fonctionner
OriginalL'auteur Rango
J'ai été à la recherche pour le même problème et j'ai trouvé la solution. Je pense que c'est exactement ce que vous voulez (Pour définir les éléments de la liste à la volée, au lieu d'utiliser les fonctions de la Liste (()) la classe):
J'avoue que ça semble compliqué, mais c'est la structure.
Afin de rendre le code plus simple, j'ajoute à la suite de capture d'écran montrant le code:
https://www.dropbox.com/s/lwym7xq7e2wvwto/Capture12.PNG?dl=0
OriginalL'auteur MuhsinFatih