0

我是新手,如果我的问题以前被问过,我很抱歉。我已经搜索过,但未能找到或识别出答案。我正在使用 Visual Studio 2008 并在 vb.net 中创建一个应用程序。

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

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 循环。请问我怎样才能做到这一点。

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

4

3 回答 3

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
于 2009-05-07T10:21:39.303 回答
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
于 2009-05-07T10:21:33.640 回答
2

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

数组1(i) = 数组2(i) = 数组3(i) = 数组4(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

这绝对比尝试动态生成数组的名称更清晰,也更易于维护

于 2009-05-07T10:23:11.873 回答