배열은 동일한 데이터 유형의 항목을 순서대로 모아 놓은 것입니다. 배열의 항목에 액세스하려면 배열 이름과 항목과 배열 시작 사이의 오프셋을 모두 사용합니다. Java와 비교하여 C#에서 C# 배열을 선언하고 사용하는 방법에는 몇 가지 중요한 차이점이 있습니다.
1차원 배열
1차원 배열은 고정된 수의 항목을 선형 방식으로 저장하며 항목을 식별하는 데 하나의 인덱스 값만 필요합니다. C#에서 배열 선언의 대괄호는 데이터 유형을 따라야 하며 Java에서 허용되는 변수 이름 뒤에 배치할 수 없습니다. 따라서 정수 유형의 배열은 다음 구문을 사용하여 선언해야 합니다.
int[] arr1;
다음 선언은 C#에서 유효하지 않습니다.
//int arr2[]; //compile error
배열을 선언한 후 설정할 수 있습니다. Java와 동일한 새로운 키워드 Size를 사용합니다. 다음 코드는 배열 참조를 선언합니다.
int[] arr; arr = new int[5]; // create a 5 element integer array
그러면 Java에서와 동일한 구문을 사용하여 1차원 배열의 요소에 액세스할 수 있습니다. C# 배열 인덱싱도 0부터 시작합니다. 다음 코드는 위 배열의 마지막 요소에 액세스합니다.
System.Console.WriteLine(arr[4]); // access the 5th element
초기화
C# 배열 요소는 Java에서와 동일한 구문을 사용하여 생성 시 초기화될 수 있습니다.
int[] arr2Lines; arr2Lines = new int[5] {1, 2, 3, 4, 5}; Syue.com
그러나 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; }
Jagged Array
C#과 Java 모두 들쭉날쭉한(비직사각형) 배열 생성을 지원합니다. 즉, 각 행에는 다음이 포함됩니다. 열은 다른 배열을 계산합니다. 예를 들어, 다음 들쭉날쭉한 배열에서 첫 번째 행에는 4개의 항목이 있고 두 번째 행에는 3개의 항목이 있습니다.
nt[][] jaggedArray = new int[2][]; jaggedArray[0] = new int[4]; jaggedArray[1] = new int[3];
다차원 배열
C#을 사용하여 일반 다차원 배열을 만들 수 있습니다. , 다차원 배열은 동일한 유형의 값으로 구성된 행렬과 유사합니다. Java와 C# 모두 가변 배열을 지원하지만 C#은 다차원 배열(배열의 배열)도 지원합니다.
다차원 직사각형 배열은 다음 구문을 사용하여 선언됩니다.
int[,] arr2D; // declare the array reference float[,,,] arr4D; // declare the array reference
선언 후 다음과 같이 배열에 메모리를 할당할 수 있습니다.
arr2D = new int[5,4]; // allocate space for 5 x 4 integers
그런 다음, 다음 구문을 사용할 수 있습니다. 배열 요소에 액세스합니다.
arr2D[4,3] = 906;
C# 배열은 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 중국어 웹사이트를 주목하세요!