[C#] 배열과 System.Array
배열: 동일자료형을 연속적으로 담을 수 있는 컨테이너
배열은 참조형으로 C에서는 배열명 자체가 포인터로 사용되며 배열의 시작 주소를 가르킨다
배열을 사용하다보면 값을 정렬하거나 특정 값의 인덱스를 몰라서 값을 찾을 때
흔히 for문이나 foreach를 사용한다.
.Net 프레임워크의 Common Type System에서 배열은 System.Array로부터 파생된 것으로
Array의 메서드를 사용해서 배열에서 특정 값을 찾아 인덱스를 반환하는 것 외에도
이진탐색, 초기화, 배열의 사이즈 조정 등이 가능하다.
위에서 작성한 코드에서 사용한 arrayName.Length의 Length는 System.Array의 프로퍼티 중 하나다.
위의 for문을 다음과 같이 표현할 수 있다.
Array의 더 많은 기능은 MSDN 에서 확인할 수 있다.
배열은 참조형으로 C에서는 배열명 자체가 포인터로 사용되며 배열의 시작 주소를 가르킨다
//기본적인 선언방식
//자료형[] 배열명;
int[] arrayName;
//배열의 초기화
int[] arrayName = new int[n]; //배열의 요소가 n개인 배열 생성.
int[] arrayName = new int[] {1, 2, 3, 4} // 배열의 크기가 4개이고 각 요소가 1, 2, 3, 4로 초기화된 배열
int[] arrayName = new int[10] {1, 2, 0}; // 배열의 0, 1번지는 각각1, 2로 초기화. 나머지는 0으로 초기화
배열을 사용하다보면 값을 정렬하거나 특정 값의 인덱스를 몰라서 값을 찾을 때
흔히 for문이나 foreach를 사용한다.
int valueWhatYouWant = 10;
for(int i = 0; i < arrayName.Length; i++)
{
if(arrayName[i] == valueWhatYouWant)
Console.WriteLine("찾았다. 인덱스는 {0}", i);
}
더 간단한 방법은 System.Array의 메서드를 사용하는 것이다..Net 프레임워크의 Common Type System에서 배열은 System.Array로부터 파생된 것으로
Array의 메서드를 사용해서 배열에서 특정 값을 찾아 인덱스를 반환하는 것 외에도
이진탐색, 초기화, 배열의 사이즈 조정 등이 가능하다.
위에서 작성한 코드에서 사용한 arrayName.Length의 Length는 System.Array의 프로퍼티 중 하나다.
위의 for문을 다음과 같이 표현할 수 있다.
int valueWhatYouWant = 10;
Console.WriteLine("찾았다. 인덱스는 {0}",
Array.BinarySearch(arrayName, valueWhatYouWant));
//또는
Console.WriteLine("찾았다. 인덱스는 {0}",
Array.IndexOf(arrayName, valueWhatYouWant));
// 배열 내에 찾는 값이 없으면 음수로 된 쓰래기 값이 나온다.
Array의 더 많은 기능은 MSDN 에서 확인할 수 있다.
댓글
댓글 쓰기