2013-02-28 4 views
-3

I는 배열 1 경우 : 1, 21, I는 크기 n의 배열을 확장 초기 배열의 값을 반복하여 추가의 인덱스를 채우려면 현재 크기 3C#에서 초기 값을 반복하여 배열을 확장하고 채 웁니다.

30

을 , 어떻게 C#에서 그것을 할 수 있습니까?

예를 들어, = 8, 아웃 넣어 값 1, 21, 30, 1, 21, 30, 1 배열, 21

+2

왜 목록을 사용하지 않습니까? –

+0

아직 시도해 보셨나요? –

답변

1

완전히 검증되지 않은해야 N 말하지만, 이것은 당신이 시작 얻어야한다 :

int initialSize = myArr.Length 
Array.Resize(ref myArr, 8); 
for(int i = initialSize;i< myArr.Length; i++) 
{ 
    myArr[i] = myArr[ i % initialSize ]; 
} 
0

List<T> 일반형을 사용하여 필요에 따라 어레이를 저장할 수 있습니다. AddRange() 메서드를 사용하여 여러 값을 추가 할 수 있습니다.

+0

한 번만 크기를 조정하면 List를 사용하는 것이 여전히 의미가 있습니까? –

+0

수 있습니다. 그것은 정말로 OP의 요구 사항에 달려 있습니다. – Bernard

1

모듈을 사용하는 경우 최종 배열을 빌드 할 때 초기 배열에서 올바른 요소를 찾을 수 있습니다.

const int[] patternArray = { 1, 21 , 30 }; 

int[] array = new int[n]; 
for (int i = 0; i < n; i++){ 
    int patternIdx = i % 3; 
    array[I] = patternArray[patternIdx]; 
} 

참고 :이 내용은 내 셀에 작성되어 사소한 구문 문제에 사과드립니다.

관련 문제