Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 배열은 0부터 인덱싱될까요?

C# 배열의 인덱스는 0부터 시작합니다

네, C#에서 배열은 0부터 인덱싱(zero-based indexing)됩니다. 즉, 배열의 첫 번째 요소는 인덱스 0에 위치하고, 마지막 요소는 '배열 길이 - 1' 인덱스에 위치합니다.

인덱스와 배열 길이의 관계를 단계별로 살펴보면 다음과 같습니다.

  • 배열이 비어 있으면 요소가 0개이며, 길이도 0입니다.
  • 배열에 0번 인덱스에 하나의 요소만 있다면 길이는 1입니다.
  • 배열에 0번과 1번 인덱스에 두 개의 요소가 있다면 길이는 2입니다.
  • 배열에 0번, 1번, 2번 인덱스에 세 개의 요소가 있다면 길이는 3입니다.

즉, 길이가 n인 배열의 유효한 인덱스 범위는 항상 0부터 n-1까지입니다. 이 규칙을 벗어난 인덱스에 접근하면 IndexOutOfRangeException 예외가 발생하므로 주의해야 합니다.

배열이 인덱스 0부터 시작함을 보여주는 코드

/* 인덱스 0부터 시작 */
for ( i = 0; i < 5; i++ ) {
    n[ i ] = i + 5;
}

예제

아래 전체 예제를 실행하면 C#에서 배열 인덱싱이 실제로 어떻게 동작하는지 직접 확인할 수 있습니다.

using System;
namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            int [] n = new int[5];
            int i,j;
            /* 인덱스 0부터 시작 */
            for ( i = 0; i < 5; i++ ) {
                n[ i ] = i + 5;
            }
            for (j = 0; j < 5; j++ ) {
                Console.WriteLine("Element[{0}] = {1}", j, n[j]);
            }
            Console.ReadKey();
        }
    }
}

실행 결과

Element[0] = 5
Element[1] = 6
Element[2] = 7
Element[3] = 8
Element[4] = 9

실행 결과에서 볼 수 있듯이, 길이가 5인 배열의 요소는 인덱스 0부터 4까지 차례대로 저장됩니다. 첫 번째 값 5가 n[0]에, 마지막 값 9가 n[4]에 할당된 것을 통해 C# 배열이 0 기반 인덱싱을 사용한다는 사실을 명확히 알 수 있습니다.