문제

나는 이것에 익숙하지 않아, 내 질문이 전에 질문을 받았다면 죄송합니다. 나는 검색했지만 답을 찾거나 인식 할 수 없었습니다. 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

이것은 배열의 이름을 동적으로 생성하는 것보다 확실히 명확하며 더 관리하기 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top