>백엔드 개발 >C#.Net 튜토리얼 >C# 배열 정의 및 초기화

C# 배열 정의 및 초기화

高洛峰
高洛峰원래의
2016-12-16 14:32:502471검색

배열은 동일한 데이터 유형의 항목을 순서대로 모아 놓은 것입니다. 배열의 항목에 액세스하려면 배열 이름과 항목과 배열 시작 사이의 오프셋을 모두 사용합니다. C#에서 배열을 선언하고 사용하는 방식은 Java와 몇 가지 중요한 차이점이 있습니다.

1차원 배열
1차원 배열은 고정된 수의 항목을 선형 방식으로 저장하며 항목을 식별하는 데 하나의 인덱스 값만 필요합니다. C#에서 배열 선언의 대괄호는 데이터 유형을 따라야 하며 Java에서 허용되는 변수 이름 뒤에 배치할 수 없습니다. 따라서 정수 유형의 배열은 다음 구문을 사용하여 선언해야 합니다.

int[] arr1;


다음 선언은 C#에서 유효하지 않습니다. 🎜>

//int arr2[]; //컴파일 오류

배열을 선언한 후 new 키워드를 사용하여 크기를 설정할 수 있습니다. 자바와 동일합니다. 다음 코드는 배열 참조를 선언합니다.


int[] arr;

arr = new int[5]; // 5개 요소 정수 배열 생성

그러면 Java에서와 동일한 구문을 사용하여 1차원 배열의 요소에 액세스할 수 있습니다. C# 배열 인덱싱도 0부터 시작합니다. 다음 코드는 위 배열의 마지막 요소에 액세스합니다.


System.Console.WriteLine(arr[4]) // 5번째 요소에 액세스

초기화

C# 배열 요소는 Java와 동일한 구문을 사용하여 생성 시 초기화될 수 있습니다.


int[] arr2Lines

arr2Lines = new int[5 ] {1, 2, 3, 4, 5};

그러나 C#에서는 Java와 달리 초기화 프로그램의 수가 배열 크기와 정확히 일치해야 합니다. 이 함수를 사용하여 동일한 줄에서 C# 배열을 선언하고 초기화할 수 있습니다.


int[] arr1Line = {1, 2, 3, 4, 5};

이 구문은 이니셜라이저 수와 크기가 같은 배열을 생성합니다.

프로그램 루프에서 초기화
C#에서 배열을 초기화하는 또 다른 방법은 for 루프를 사용하는 것입니다. 다음 루프는 배열의 각 요소를 0으로 설정합니다.


int[] TaxRates = new int[5]


for (int i=0; i< TaxRates.Length; i++)
{
TaxRates[i] = 0;
}

시차형 배열
C# 및 Java 모두 시차형(직사각형이 아님) 생성을 지원합니다. 배열, 즉 각 행에 다른 수의 열이 있는 배열입니다. 예를 들어, 다음 가변 배열에서 첫 번째 행에는 4개의 항목이 있고 두 번째 행에는 3개의 항목이 있습니다.


int[][] jaggedArray = new int[2][];

jaggedArray[0] = new int[4];
jaggedArray[1] = new int[3];

다차원 배열
C#을 사용하여 일반 배열을 만들 수 있습니다. 다차원 배열 다차원 배열은 동일한 유형의 값으로 구성된 행렬과 유사합니다. Java와 C# 모두 가변 배열을 지원하지만 C#은 다차원 배열(배열의 배열)도 지원합니다.

다음 구문을 사용하여 다차원 직사각형 배열을 선언합니다.


int[,] arr2D; // 배열 참조 선언

float[,,,] arr4D ; / / 배열 참조 선언

선언 후 다음과 같이 배열에 대한 메모리를 할당할 수 있습니다.


arr2D = new int[5,4] ; // 5 x 4 정수를 위한 공간 할당

다음 구문을 사용하여 배열의 요소에 액세스할 수 있습니다:


arr2D[4,3 ] = 906;

배열은 0부터 시작하므로 이 줄에서는 네 번째 행과 다섯 번째 열의 요소를 906으로 설정합니다.

초기화
다음 방법 중 하나를 사용하여 동일한 명령문에서 다차원 배열을 생성, 설정 및 초기화할 수 있습니다.


int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} }

int[,] arr5 = new int [,] { {1,2,3}, { 4,5 ,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} };


더 많은 C# 배열 정의 및 초기화와 관련된 기사는 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.