C# 배열과 리스트의 기본 개념
C#에서 배열(Array)은 동일한 타입의 요소들을 고정된 크기로 순차적으로 저장하는 자료구조입니다. 반면 리스트(List)는 제네릭 컬렉션으로, 요소를 동적으로 추가하거나 제거할 수 있어 크기가 유연하게 변합니다.
리스트(List) 정의하기
리스트를 선언하려면 다음과 같이 작성합니다.
List<string> myList = new List<string>();
리스트에 요소를 추가하려면 Add 메서드를 사용합니다.
myList.Add("Audi");
myList.Add("BMW");
myList.Add("Chevrolet");
myList.Add("Hyundai");배열(Array) 정의하기
배열을 선언하려면 다음과 같이 작성합니다.
int[] arr = new int[5];
배열을 초기화하고 요소를 한 번에 설정하는 방법은 다음과 같습니다.
int[] arr = new int[5] {23, 14, 11, 78, 56};배열과 리스트의 주요 차이점
- 크기: 배열은 생성 시 크기가 고정되지만, 리스트는 필요에 따라 동적으로 늘어나거나 줄어듭니다.
- 타입 안전성: 리스트는 제네릭 컬렉션이므로 컴파일 시점에 타입 검사가 이루어져 더 안전합니다.
- 편의성: 리스트는 Add, Remove, Insert 등 다양한 메서드를 제공하여 요소 관리가 훨씬 편리합니다.
- 성능: 배열은 메모리에 연속적으로 저장되어 접근 속도가 빠르며, 크기가 정해진 데이터를 다룰 때 유리합니다.
따라서 데이터 개수가 미리 정해져 있다면 배열을, 유동적으로 요소를 관리해야 한다면 리스트를 사용하는 것이 좋습니다.