c array how declare
이 심층 자습서에서 C # 배열에 대한 모든 정보를 알아보십시오. C #에서 배열의 유형 및 예와 함께 배열을 선언, 초기화 및 액세스하는 방법을 설명합니다.
이 C # 시리즈의 이전 자습서에서는 C # 함수에 대한 모든 것을 자세히 설명했습니다.
이전 자습서 중 하나에서 C #의 변수를 사용하여 특정 데이터 형식에 대한 정보를 포함하는 방법을 배웠습니다. 그러나 변수에 문제가 있습니다. 즉, 하나의 리터럴 값만 저장할 수 있습니다.
예를 들어, int a = 2, 하나 이상의 값을 저장하려는 상황을 상상해보십시오. 저장하려는 모든 값에 대해 변수를 정의하는 것은 너무 번거로울 것입니다. C #은이 문제를 해결하기위한 배열을 제공합니다.
Windows 10 용 최고의 무료 파일 변환기
학습 내용 :
C #의 배열
배열은 지정된 구문을 사용하여 순차적으로 배열 된 여러 값을 저장할 수있는 특수 데이터 유형으로 정의 할 수 있습니다. 배열은 순차 메모리 위치에 저장된 동일한 데이터 유형의 변수 모음으로 정의 할 수도 있습니다.
데이터 유형 변수와 달리 각 값에 대해 개별 변수를 선언하지 않고 대신 배열 인덱스를 사용하여 특정 요소에 액세스 할 수있는 배열 변수를 선언합니다.
예를 들어, 배열 변수를 '이름'으로 정의하면 이름 (0), 이름 (1), 이름 (2)… 등과 같은 색인을 사용하여 다른 메모리 위치에서 콘텐츠에 액세스 할 수 있습니다.
위의 이미지는 1 차원 배열의 그래픽 표현입니다. 특정 인덱스를 사용하여 액세스 할 수있는 5 개의 요소 (각 큐브로 표시됨)가 있습니다.
어레이의 장단점
다음은 어레이의 몇 가지 장점입니다.
- 다른 메모리 위치에 저장된 값에 대한 임의 액세스.
- 데이터 정렬, 데이터 순회 또는 기타 작업과 같은 간편한 데이터 조작.
- 코드 최적화.
배열의 유일한 단점은 크기 제한입니다. 배열은 명확한 크기입니다.
C #의 배열 유형
C # 프로그래밍 언어는 3 가지 유형의 배열을 제공합니다.
- 1 차원 또는 단일 차원 배열
- 다차원 배열
- 들쭉날쭉 한 배열
단일 차원 배열
1 차원 배열을 사용하면 순차적으로 데이터를 저장할 수 있습니다. 한 수업에있는 모든 학생의 이름을 저장해야한다고 가정 해 보겠습니다. 배열은 유사한 데이터 유형을 저장하는 더 간단한 방법을 제공하므로 모든 학생 이름을 배열에 저장할 수 있습니다.
C #에서 배열을 선언하는 방법?
배열은 데이터 유형 이름, 대괄호, 배열 이름을 사용하여 선언 할 수 있습니다.
int( ) integerArray; string( ) stringArray; bool( ) booleanArray;
마찬가지로 다양한 데이터 유형에 대한 배열을 선언 할 수 있습니다.
C #에서 배열을 초기화하는 방법?
(i) 주어진 크기로 배열 정의
new 키워드를 사용하여 배열을 초기화하고 함께 선언 할 수 있습니다. 3 명의 학생에 대한 배열을 초기화합니다. 크기가 3 인 배열을 만들어야합니다.
string ( ) student = new string ( 3 );
첫 번째 부분 '문자열'은 배열의 데이터 유형을 정의한 다음 배열 이름을 제공합니다. 그런 다음 쓰기가 끝나면 배열의 크기를 초기화하고 제공합니다. 즉 3.
(ii) 배열 정의 및 값 추가
이것은 배열의 값을 포함하는 중괄호의 차이 만 제외하면 이전 예제와 매우 유사합니다.
string ( ) student = new string ( 3 ){“student1”, “student2”, “student3”};
(iii) 요소로 배열 선언
이 유형의 선언에서는 배열 크기를 제공하지 않고 배열을 직접 선언합니다. 제공하는 값의 수에 따라 크기가 자동으로 결정됩니다. 예를 들어, 3 개의 값을 제공하는 경우 배열의 크기는 3이됩니다.
string ( ) student = {“student1”, “student2”, “student3”};
배열에서 값 액세스
배열의 요소에 액세스하려면 인덱스 이름을 사용하여 배열에 액세스해야합니다. 이는 배열 이름이 앞에 오는 대괄호 안에 요소의 인덱스를 배치하여 수행 할 수 있습니다.
예를 들어, 다음 배열을 초기화하고 선언 한 경우 :
string ( ) student = {“student1”, “student2”, “student3”};
그런 다음 인덱스를 사용하여 값을 검색 할 수 있습니다.
student(0) ;
그러면“student1”이 반환됩니다.
하지만 왜 0일까요? 배열의 계산이 1이 아닌 0에서 시작하기 때문입니다. 따라서 첫 번째 값은 인덱스 0에 저장되고 다음 값은 1에 저장됩니다. 과도하게 채울 경우 예외가 발생하므로 배열에 값을 할당하는 동안에도이 점을 염두에 두어야합니다.
For 루프를 사용하여 배열에 액세스
for 루프를 사용하여 배열의 값에 액세스하는 프로그램을 작성해 보겠습니다.
string () std = new string(3) {“student1”, “student2”, “student3”}; /* value of each array element*/ for (int i = 0; i <3; i++ ) { Console.WriteLine('std({0}) = {1}', i, std(i)); } Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
std (0) =“학생 1”
std (1) =“학생 2”
std (2) =“학생 3”
아시다시피, 대괄호 안에 인덱스를 제공하여 요소에 액세스 할 수 있습니다. 위 프로그램에서 사용한 것과 동일한 접근 방식입니다. 각 인덱스를 반복하고 값을 콘솔에 인쇄했습니다.
각 루프에 대해 간단한 예제를 사용하여 동일한 예제를 사용해 보겠습니다.
For-Each 루프를 사용하여 배열에 액세스
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
학생 1
학생 2
학생 3
배열과 함께 사용되는 속성 및 방법
Array 클래스는 C #에 정의 된 모든 배열의 기본 클래스입니다. 시스템 네임 스페이스 내에 정의되며 배열에서 작업을 수행하기위한 다양한 메서드와 속성을 제공합니다.
C #에서 가장 일반적으로 사용되는 몇 가지 방법을 살펴 보겠습니다.
맑은
배열에있는 요소를 지 웁니다. 데이터 유형에 따라 배열 요소는 0, 거짓 또는 널로 변환 될 수 있습니다.
통사론
Array.Clear (ArrayName, Index of starting element, number of element to clear);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } /* clearing the array by providing parameters */ Array.Clear(std, 0, 3); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
학생 1
학생 2
학생 3
정렬. Clear 문은 세 개의 매개 변수를받습니다. 첫 번째는 배열의 이름이고 두 번째는 지울 요소 범위의 시작 인덱스이며 세 번째는 지울 요소의 수입니다.
이 예에서는 인덱스 '0'에서 시작하여 세 요소를 모두 지 웠습니다. 요구 사항에 따라 고유 한 매개 변수를 제공 할 수 있습니다.
GetLength
배열의 길이, 즉 배열 안에있는 요소의 수를 반환합니다.
통사론
ArrayName.Length;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach(string s in std){ Console.WriteLine(s); } int len = std.Length; Console.WriteLine(“The length of array is: ”+len); Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
학생 1
학생 2
학생 3
배열의 길이 : 3
위의 프로그램에서 길이는 정수 값을 반환하므로 정수 변수에 값을 저장하고 콘솔에 동일한 값을 인쇄했습니다.
IndexOf
1 차원 배열에서 지정된 개체의 첫 번째 발생 인덱스를 검색합니다.
통사론
Array.IndexOf(NameOfArray, Element_Value);;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } int len = Array.IndexOf(std, 'student3'); Console.WriteLine(len); Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
학생 1
학생 2
학생 3
두
IndexOf는 두 개의 매개 변수를받습니다. 첫 번째는 배열 이름이고 다음 매개 변수는 배열 내부의 요소 값입니다.
역방향 (배열)
배열에있는 요소의 시퀀스를 반대로합니다.
통사론
Array.Reverse(NameOfArray);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Reverse(std); /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
학생 1
학생 2
학생 3
학생 3
학생 2
학생 1
Reverse는 하나의 매개 변수, 즉 배열 이름을 허용합니다.
위의 예에서 먼저 배열의 요소를 인쇄했습니다. 그런 다음 어레이에서 역 연산을 수행했습니다. 다음으로 역 연산의 결과를 인쇄했습니다.
정렬 (배열)
배열에있는 요소의 시퀀스를 정렬합니다.
통사론
Array.Sort(NameOfArray);
string () std = new string(3) {'colt', 'zebra', 'apple'}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Sort(std); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
위 프로그램의 출력은 다음과 같습니다.
망아지
얼룩말
사과
사과
망아지
얼룩말
위의 출력에서 배열의 이전 요소가 우리가 제공 한 시퀀스에 따라 정렬되었음을 알 수 있습니다.
정렬 작업을 수행하면 배열 내부의 모든 요소가 알파벳순으로 정렬됩니다.
결론
이 자습서에서는 C #의 배열에 대해 배웠습니다. 배열은 유사한 데이터 유형의 값을 시리즈로 저장할 수 있습니다. 배열의 시리즈 인덱스는 0부터 시작합니다. 배열 초기화 중에 배열 크기를 지정해야합니다.
인덱싱을 사용하여 배열의 값에 액세스 할 수 있습니다. C # 배열 도우미 클래스에는 배열 작업을 용이하게하는 여러 가지 속성 및 메서드가 포함되어 있습니다.