如何循环多个数组?

时间:2009-05-07 10:03:33

标签: vb.net arrays loops for-loop

我是新手,很抱歉,如果我之前已经提出过我的问题。我已经搜索过但无法找到或者认出答案。我正在使用visual studio 2008并在vb.net中创建一个应用程序。

我有4个名为的数组: - account1 account2 account3 account4。它们都有4个元素。 我想以有效的方式为数组中的元素赋值。我认为两个下一个循环会做到这一点。我的伪代码看起来像这样

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

因此填充了所有数组的所有元素,而不必为每个单独的数组名称设置fornext循环。我怎样才能做到这一点。

希望我提供了足够的信息以供您使用,并且您可以提供帮助。感谢所有和任何建议。

3 个答案:

答案 0 :(得分:3)

您应该创建一个多维数组而不是4个数组,这样就可以通过数组进行通用循环。

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

答案 1 :(得分:2)

如果我理解正确,为什么不:

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

编辑VB.Net以获取 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

答案 2 :(得分:2)

当我阅读你的代码示例时,我认为你不需要使用2个单独的循环,就好像我是对的你将相同的值分配给数组的第i个位置 例如:

array1(i)= array2(i)= array3(i)= array4(i)

在上面的示例中,您可以编写类似这样的内容(伪代码):

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

我认为这比尝试为变量名编写循环更清楚,特别是对于要维护的数组的数量

另一个选项,如果你有很多数组可能更合适,那就是维护一个数组列表,然后可以通过简单的迭代来完成。

此选项的伪代码:

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

这比尝试动态生成数组的名称更明确,并且更易于维护