배열
- 정의
- 동일한 자료형을 가진 데이터들을 연속적인 메모리로 저장하여 인덳그로 접근할 수 있게 됨
- new 키워드를 사용하여 동적으로 할당 받는 배열을 만들 수 있음
- 동적으로 할당 받았다고해서 동적 배열인 것은 아님, (동적 배열은 크기가 가변적인 배열을 의미함) 즉, 힙 메모리에 할당 받고 크기를 바꿀 수 없는 정적배열을 의미
- Call By Reference : 배열을 동적으로 할당 받으므로 (배열 데이터가 힙메모리에 있으므로) 동일한 배열 메모리를 가리키는 변수가 여러개일 수 있음
- new를 생략하는 것도 가능, 그래도 두 변수가 동일한 배열 메모리를 가리킬 수 있는 것을 보면 동적으로 할당 받는 것과 같음. 즉, C#은 C++과 달리 배열이 무조건 힙메모리에 존재하게 되어 있음 따라서 무조건 동적으로 할당 받음
- 크기는 한번 선언하면 바꿀 수 없음
- 배열 크기를 벗어나는 인덱스로 배열에 접근하면 런타임 에러가 발생한다.
- 중간 삽입 삭제가 어려움
- 고정된 데이터를 사용할 때 용이함
- 인덱스 찾기가 용이함
- 2차원 또는 다차원 가능
- new 생략 가능
- Example
다차원배열
- 정의
- C#에서는 arr[a,b]으로 표현 가능
- 다차원 배열에서는 GetLength로 사용
- new 생략 가능
- arr.Length()
- arr.GetLength(0)
- arr.GetLength(1)
- .Rank
- Example