여러 배열을 통해 반복하는 방법?
문제
나는 이것에 익숙하지 않아, 내 질문이 전에 질문을 받았다면 죄송합니다. 나는 검색했지만 답을 찾거나 인식 할 수 없었습니다. 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 루프를 설정하지 않고 채워집니다. 어떻게이를 달성 할 수 있습니까?
사용하기에 충분한 정보를 제공했으며 도움을 줄 수 있기를 바랍니다. 모든 것에 감사드립니다.
해결책
내가 올바르게 이해한다면 왜 :
For i as integer = 0 to 3
account1(i) = "Account1"
account2(i) = "Account2"
account3(i) = "Account3"
account4(i) = "Account4"
Next
vb.net 편집 쿼답변 :
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
다른 팁
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
코드 예제를 읽으면서, 나는 당신이 내가 옳은 것처럼 당신이 당신의 배열의 ITH 위치에 동일한 값을 할당하는 것처럼 2 개의 분리 된 루프를 사용해야한다고 생각하지 않습니다.
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
이것은 배열의 이름을 동적으로 생성하는 것보다 확실히 명확하며 더 관리하기 쉽습니다.