2012-03-12 5 views
0

첫째로 이것은 정확하게 문제가 아니지만 퀴즈와 같습니다. 데이터 집합에서 데이터를로드 할 3 배열이 미래에이 데이터 집합을 확장하고 코드가 지나치게 길어질 것입니다 어떻게 추가 배열을 사용하지 않고 루프를 사용하여 아래와 같이 데이터를로드 할 수 있습니까?루프를 사용하여 배열로드

Dim ds as dataset = objDashBoardStats.DashBoard_TotalSales_Static_Get(objDashBoardStats) 

       Dim statvals(11) As Integer 
       statvals = LoadData(statvals, ds.Tables(0)) 

       Dim statvalsMen(3), statvalsWomen(3), statvalsUnknown(3) As Integer 

       statvalsMen(0) = statvals(0) 
       statvalsWomen(0) = statvals(1) 
       statvalsUnknown(0) = statvals(2) 
       statvalsMen(1) = statvals(3) 
       statvalsWomen(1) = statvals(4) 
       statvalsUnknown(1) = statvals(5) 
       statvalsMen(2) = statvals(6) 
       statvalsWomen(2) = statvals(7) 
       statvalsUnknown(2) = statvals(8) 
       statvalsMen(3) = statvals(9) 
       statvalsWomen(3) = statvals(10) 
       statvalsUnknown(3) = statvals(11) 

답변

0

내가 명시 적으로 VB를 모르겠지만,이 유사해야합니다 : 데이터 집합에서 대신 다른 배열을 사용

int max = statvals.size; //just get the amount of indexes in statvals. max%3 should be 0 
for(int i=0; i<max; i+=3) 
{ 
    statvalsMen(i/3) = statvals(i); 
    statvalsWomen(i/3) = statvals(i+1); 
    statvalsUnknown(i/3) = statvals(i+2); 
} 
+0

은 3 번째 반복마다 증가하도록 'statvalsMen (i/3)'로 수정됩니다. – ja72

+0

고마워, 잊어 버렸어. 나는 또한 바닥을 만들 것입니다 (i/3)하지만 C가 있는지 (Java/C# 사람) –

0

루프 (기록의 같은 수있을 것입니다 가정 ...

Dim intTotalPerCategory As Integer = ds.Tables(0).Rows.Count/3 

    Dim statvalsMen(intTotalPerCategory), statvalsWomen(intTotalPerCategory), _ 
     statvalsUnknown(intTotalPerCategory) As Integer 

    For i = 0 To (ds.Tables(0).Rows.Count - 1) Step 3 

     'Change "NameOfColumn" to the correct column name or ordinal number. 
     statvalsMen(i) = CInt(ds.Tables(0).Rows(i).Item("NameOfColumn")) 
     statvalsWomen(i + 1) = CInt(ds.Tables(0).Rows(i).Item("NameOfColumn")) 
     statvalsUnknown(i + 2) = CInt(ds.Tables(0).Rows(i).Item("NameOfColumn")) 

    Next 
+0

귀하의 질문에 다른 배열을 사용하지 않는 솔루션을 요청했습니다. 이 솔루션은 LoadData가 배열에 데이터 세트의 해당 테이블에서 필드를로드하는 것 이상의 작업을 수행하지 않는 한 계속 작동합니다. 배열을로드하기위한 추가 처리를 수행하면 배열에서 루프해야합니다 (또는 LoadData 메서드를 변경하십시오. – N0Alias

관련 문제