C# 배열
배열은 동일한 유형의 요소를 저장하는 고정 크기 순차 컬렉션입니다. 배열은 데이터를 저장하는 데 사용되는 모음입니다. 일반적으로 배열은 동일한 유형의 변수 모음으로 간주됩니다.
배열 변수를 선언한다는 것은 숫자0, 숫자1,..., 숫자99를 개별 변수로 선언하는 것이 아니라 숫자와 같은 변수를 선언한 후 숫자[0], 숫자[1],..., 숫자를 사용하는 것입니다. [99] 개별 변수를 나타냅니다. 배열의 특정 요소는 인덱스로 액세스됩니다.
모든 배열은 연속된 메모리 위치로 구성됩니다. 가장 낮은 주소는 첫 번째 요소에 해당하고 가장 높은 주소는 마지막 요소에 해당합니다.
배열 선언
C#에서 배열을 선언하려면 다음 구문을 사용할 수 있습니다.
datatype[] arrayName;
where,
datatype은 배열에 저장될 요소의 유형을 지정하는 데 사용됩니다.
[ ]은 배열의 순위(차원)를 지정합니다. 순위는 배열의 크기를 지정합니다.
arrayName은 배열의 이름을 지정합니다.
예:
double[] balance;
배열 초기화
배열을 선언해도 메모리의 배열이 초기화되지는 않습니다. 배열 변수를 초기화할 때 배열에 값을 할당할 수 있습니다.
Array는 참조 유형이므로 배열의 인스턴스를 생성하려면 new 키워드를 사용해야 합니다.
예:
double[] balance = new double[10];
배열에 값 할당
다음과 같이 인덱스 번호를 사용하여 개별 배열 요소에 값을 할당할 수 있습니다.
double[] balance = new double[10]; balance[0] = 4500.0;
배열을 선언하는 동안 배열에 값을 할당할 수 있습니다.
double[] balance = { 2340.0, 4523.69, 3421.0};
다음과 같이 배열을 생성하고 초기화할 수도 있습니다.
int [] marks = new int[5] { 99, 98, 92, 97, 95};
위의 경우 다음과 같이 배열의 크기를 생략할 수도 있습니다.
int [] marks = new int[] { 99, 98, 92, 97, 95};
배열 변수를 다음에 할당할 수도 있습니다. 다른 대상 배열 변수. 이 경우 대상과 소스는 동일한 메모리 위치를 가리킵니다.
int [] marks = new int[] { 99, 98, 92, 97, 95}; int[] score = marks;
배열을 만들 때 C# 컴파일러는 각 배열 요소를 배열 유형에 따라 기본값으로 암시적으로 초기화합니다. 예를 들어 int 배열의 모든 요소는 0으로 초기화됩니다.
배열 요소 액세스
요소는 인덱스 배열 이름을 통해 액세스됩니다. 이는 배열 이름 뒤에 대괄호 안에 요소의 인덱스를 배치하여 수행됩니다. 예:
double salary = balance[9];
다음은 위에서 언급한 세 가지 개념, 즉 선언, 할당, 배열 액세스를 사용한 예입니다.
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n 是一个带有 10 个整数的数组 */ int i,j; /* 初始化数组 n 中的元素 */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; } /* 输出每个数组元素的值 */ for (j = 0; j < 10; j++ ) { Console.WriteLine("Element[{0}] = {1}", j, n[j]); } Console.ReadKey(); } } }
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Use foreach Loop
이전 예에서는 for 루프를 사용하여 각 배열 요소에 액세스했습니다. foreach 문을 사용하여 배열을 반복할 수도 있습니다.
using System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n 是一个带有 10 个整数的数组 */ /* 初始化数组 n 中的元素 */ for ( int i = 0; i < 10; i++ ) { n[i] = i + 100; } /* 输出每个数组元素的值 */ foreach (int j in n ) { int i = j-100; Console.WriteLine("Element[{0}] = {1}", i, j); } Console.ReadKey(); } } }
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
C# 배열 세부 정보
C#에서 배열은 매우 중요하므로 더 자세히 이해해야 합니다. 다음은 C# 프로그래머가 알아야 할 배열과 관련된 몇 가지 중요한 개념입니다.
Concept | Description |
---|---|
다차원 배열 | C#은 다차원 배열을 지원합니다. 다차원 배열의 가장 간단한 형태는 2차원 배열입니다. |
Jagged Arrays | C#은 배열의 배열인 jagged array를 지원합니다. |
함수에 배열 전달 | 인덱스 없이 배열 이름을 지정하여 배열에 대한 포인터를 함수에 전달할 수 있습니다. |
매개변수 배열 | 이는 일반적으로 알 수 없는 수의 매개변수를 함수에 전달하는 데 사용됩니다. |
Array 클래스 | 는 System 네임스페이스에 정의되어 있으며 모든 배열의 기본 클래스이며 배열에 대한 다양한 속성과 메서드를 제공합니다. |