Question

Je suis novice dans ce domaine. Je suis désolé si ma question a déjà été posée. J'ai cherché mais je n'ai pas pu trouver, ni peut-être reconnaître une réponse. J'utilise Visual Studio 2008 et crée une application sur vb.net.

J'ai 4 tableaux nommés: - compte1 compte2 compte3 compte4. Ils ont tous 4 éléments. Je souhaite attribuer des valeurs aux éléments des tableaux de manière efficace. Je pensais que deux pour les prochaines boucles le feraient. Mon pseudo-code ressemble à quelque chose comme ça

for i=1 to 4
    for c= 0 to 3
        account(i)(c)= 'mydata' /so account(i) would be account1 etc and c the element
    next c
next i

et ainsi tous les éléments de tous les tableaux sont remplis sans que je doive configurer une boucle fornext pour chaque nom de tableau individuel. Comment puis-je atteindre ceci s'il vous plaît.

J'espère avoir fourni suffisamment d’informations pour pouvoir vous aider et pouvoir vous aider. Merci pour tous et tout conseil.

Était-ce utile?

La solution

Si je comprends bien, pourquoi pas:

For i as integer = 0 to 3
    account1(i) = "Account1"
    account2(i) = "Account2"
    account3(i) = "Account3"
    account4(i) = "Account4"
Next

Modifier VB.Net pour la réponse Qua :

dim accounts(4,4) as integer

for i as integer = 0 To accounts.GetUpperBound(0)
  for j as integer = 0 To accounts.GetUpperBound(1)
     accounts(i, j) = new integer 'not needed for intergers, but if you had a class in here'
     accounts(i, j) = i*j;
  next
next

Autres conseils

Vous devez créer un tableau multidimensionnel au lieu de 4 tableaux, ce qui vous permettrait de faire une boucle générique dans les tableaux.

int[,] accounts = new int[4,4] // 4 accounts with 4 elements
for (int i = 0 ; i < accounts.GetUpperBound(0); i++)
  for (int j = 0 ; i < accounts.GetUpperBound(1); j++)
     accounts[i,j] = i*j;
  next
next

En lisant votre exemple de code, je ne pense pas que vous deviez utiliser deux boucles distinctes, car si je ne me trompe pas, vous attribuez la même valeur à la ième position de votre tableau. par exemple:

tableau1 (i) = tableau2 (i) = tableau3 (i) = tableau4 (i)

Dans l'exemple ci-dessus, vous pouvez écrire quelque chose comme ceci (en pseudocode):

for i = 0 to 3
   account1(i) = MyData
   account2(i) = MyData
   account3(i) = MyData
   account4(i) = MyData
next i

Je pense que cela est plus clair que d'essayer d'écrire une boucle pour les noms de variables, en particulier pour le nombre de tableaux que vous gérez

Une autre option, qui pourrait être plus appropriée si vous avez beaucoup de tableaux, serait de maintenir une liste de tableaux qui peuvent ensuite être itérés simplement.

PseudoCode pour cette option:

for each array in listOfArrays
  for i = 0 to 3
    array(i) = MyData
  next i
next

Ceci est clairement plus clair que d'essayer de générer les noms des tableaux de manière dynamique, et plus facile à gérer

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top