我是新手,很抱歉,如果我之前已经提出过我的问题。我已经搜索过但无法找到或者认出答案。我正在使用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循环。我怎样才能做到这一点。
希望我提供了足够的信息以供您使用,并且您可以提供帮助。感谢所有和任何建议。
答案 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
这比尝试动态生成数组的名称更明确,并且更易于维护