Meilleur auteur de réponses
Créer variables For Next

Question
-
Bonjour,
j'aimerais savoir s'il existe un moyen en VB.NET de créer des variables dans une boucle for
Exemple :
Au lieu de les créer comme suit:
var1 as integer
var2 as integer
var3 as integer
var4 as integer
....
varn as integerje procéderais comme suit
for i as integer = 0 to 15
dim var+i as integer
.....
nextExiste-t-il un moyen de le faire avec un for next ???
Merci Beaucoup
Réponses
-
Bonjour VinnyBowling,
Il n'est pas possible de créer dynamiquement le nom d'une variable. C'est pour cela que l'on utilise des éléments énumérables (listes, tableaux , collections etc). D'où la solution qui t'est proposée par mmw01.
De plus il faut faire attention à ce que tu fais dans tes boucles : une varialbe déclarée dans une boucle n'est pas de portée en dehors du scope de la boulce... donc elle n'existe pas en dehors si elle est déclarée dans la boucle. Mais elle est utilse si elle est déclarée hors de la boucle et affectée dans la boucle.
Voil, J'éspère t'avoir aidé avec cette petite mise en garde... cela devrais t'éviter de futurs erreurs ;)
Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)- Proposé comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
- Marqué comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
-
salut
je ne pense pas que cela soit possible
et puis si tu crée une variable dans une boucle tu ne pourra pas l'utiliser en dehors de la boucle
ce que je te propose c'est de créer un tableau en dehors de la boucle et de l'utiliser dans la boucle (ainsi tes données resteront même hors de la boucle) un exemple:
dim t(15) as integer for i as integer = 0 to 15 t(i)=i*i next
et si le nombre d'élément est inconnu d'avance tu peut utiliser les list
'd'abord importer l'espace de nom necessaire Imports System.Collections.Generic Dim lst As New List(Of integer) for i as integer =0 to 25 malist.add(i*i) next
l'important tu dois créer ta ou tes variables en dehors de la boucle
Si à la seule lecture des commentaires de votre code l'on ne sait pas ce que fait votre programme jetez le tout. IBM- Proposé comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
- Marqué comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
Toutes les réponses
-
salut
je ne pense pas que cela soit possible
et puis si tu crée une variable dans une boucle tu ne pourra pas l'utiliser en dehors de la boucle
ce que je te propose c'est de créer un tableau en dehors de la boucle et de l'utiliser dans la boucle (ainsi tes données resteront même hors de la boucle) un exemple:
dim t(15) as integer for i as integer = 0 to 15 t(i)=i*i next
et si le nombre d'élément est inconnu d'avance tu peut utiliser les list
'd'abord importer l'espace de nom necessaire Imports System.Collections.Generic Dim lst As New List(Of integer) for i as integer =0 to 25 malist.add(i*i) next
l'important tu dois créer ta ou tes variables en dehors de la boucle
Si à la seule lecture des commentaires de votre code l'on ne sait pas ce que fait votre programme jetez le tout. IBM- Proposé comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
- Marqué comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
-
Bonjour VinnyBowling,
Il n'est pas possible de créer dynamiquement le nom d'une variable. C'est pour cela que l'on utilise des éléments énumérables (listes, tableaux , collections etc). D'où la solution qui t'est proposée par mmw01.
De plus il faut faire attention à ce que tu fais dans tes boucles : une varialbe déclarée dans une boucle n'est pas de portée en dehors du scope de la boulce... donc elle n'existe pas en dehors si elle est déclarée dans la boucle. Mais elle est utilse si elle est déclarée hors de la boucle et affectée dans la boucle.
Voil, J'éspère t'avoir aidé avec cette petite mise en garde... cela devrais t'éviter de futurs erreurs ;)
Jérémy Jeanson MCP http://blogs.codes-sources.com/JeremyJeanson/ (French or English Spoken)- Proposé comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
- Marqué comme réponse Alex Petrescu mercredi 14 avril 2010 09:21
-