Wie eine Schleife durch mehrere arrays?
Frage
Ich bin neu hier, also sorry, wenn meine Frage gestellt wurde, vor.Ich habe gesucht, aber nicht in der Lage gewesen zu finden, oder vielleicht erkennen, eine Antwort.Ich bin mit visual studio 2008 und erstellen einer app in vb.net.
Ich habe 4 arrays genannt:- account1 account2 account3 account4.Sie haben alle 4 Elemente.Will ich zum zuweisen von Werten um die Elemente in den arrays, die in einer effizienten Art und Weise.Ich dachte, zwei für das nächste Schleifen würde es tun.Mein pseudo-code sieht ungefähr so aus
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
und damit alle Elemente von allen arrays sind gefüllt, ohne dass ich set up eine fornext-Schleife für jedes einzelne array-Namen.Wie kann ich das erreichen, bitte.
Hoffe ich habe genug Informationen, um von nutzen sein, und dass Sie helfen können.Vielen Dank für alles und jeden Rat.
Lösung
Wenn ich das richtig verstehe ist warum nicht:
For i as integer = 0 to 3
account1(i) = "Account1"
account2(i) = "Account2"
account3(i) = "Account3"
account4(i) = "Account4"
Next
Bearbeiten VB.Net für Qua's Antwort:
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
Andere Tipps
Sollten Sie ein mehrdimensionales array zu erstellen, statt 4-arrays, die Ihnen erlauben würden, loop genericly durch die Felder.
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
Wie ich Lesen Sie Ihre code-Beispiel, ich glaube nicht, dass Sie benötigen, zu verwenden, 2 getrennte Schleifen, als wenn ich mich Recht weisen Sie den gleichen Wert der I-TEN position der Elemente in einem array zB:
array1(i) = array2(i) = array3(i) = array4(i)
In Ihrem obigen Beispiel könnten Sie schreiben, so etwas wie dieses (in pseudocode):
for i = 0 to 3
account1(i) = MyData
account2(i) = MyData
account3(i) = MyData
account4(i) = MyData
next i
Ich denke, dass dies klarer ist, als zu versuchen, um schreiben eine Schleife für die variable Namen, vor allem für die Anzahl der arrays, die Sie pflegen,
Eine weitere option, die besser geeignet sein könnten, wenn Sie haben viel von arrays wäre es, pflegen Sie eine Liste von arrays, die dann Durchlaufen Sie einfach genug.
PseudoCode für diese option:
for each array in listOfArrays
for i = 0 to 3
array(i) = MyData
next i
next
Dies ist definitiv klarer als der Versuch zu generieren, den Namen des arrays dynamisch, und wartbarer als gut