C# 리스트(List) 사용하기: 선언, 초기화, 접근 방법 및 주요 메서드

C# 리스트(List) 사용하기: 선언, 초기화, 접근 방법 및 주요 메서드

C#에서 List는 제네릭 컬렉션의 일부로, 동적으로 크기가 조정되는 배열입니다. 이번 글에서는 C#에서 리스트의 기본 개념, 리스트를 선언하고 초기화하는 방법, 리스트의 원소에 접근하는 방법, 리스트에서 자주 사용되는 주요 메서드에 대해 알아보겠습니다.

1. 리스트의 기본 개념

List<T>는 동일한 타입의 여러 요소를 저장하는 데이터 구조입니다. List는 배열과 마찬가지로 각 요소에 인덱스를 사용하여 접근할 수 있지만, 크기가 동적으로 변경될 수 있다는 점에서 배열과 다릅니다.

2. 리스트 선언하기

C#에서 리스트를 선언하는 방법은 매우 간단합니다. List 키워드 다음에 저장할 데이터의 타입을 지정합니다.

List<int> numbers;

이 코드는 정수형 리스트인 numbers를 선언합니다.

3. 리스트 초기화하기

리스트를 선언한 후에는 new 키워드를 사용하여 초기화할 수 있습니다.

numbers = new List<int>();

이 코드는 앞서 선언한 numbers 리스트를 초기화합니다.

또한, 리스트 선언과 동시에 초기화를 진행하는 것도 가능합니다.

List<int> numbers = new List<int>(); // 빈 리스트 초기화
List<int> numbers = new List<int>{1, 2, 3, 4, 5}; // 선언과 동시에 값으로 초기화

4. 리스트의 원소에 접근하기

리스트의 원소에 접근하기 위해서는 인덱스를 사용합니다. C#에서 리스트의 인덱스는 0부터 시작합니다.

numbers.Add(10);
Console.WriteLine(numbers[0]); // 출력: 10

이 코드는 리스트에 첫 번째 요소로 10을 추가하고, 그 값을 출력합니다. 리스트에 원소를 추가하려면 항상 Add 메서드를 사용해야 합니다. 이 메서드는 리스트의 끝에 요소를 추가합니다.

▼ 예제: 리스트에 각 원소에 1부터 10까지의 숫자를 할당 후 출력

List<int> numbers = new List<int>();

// 리스트에 1부터 10까지의 숫자 할당
for (int i = 0; i < 10; i++)
{
    numbers.Add(i + 1);
}

// 리스트의 모든 원소 출력
for (int i = 0; i < numbers.Count; i++)
{
    Console.WriteLine(numbers[i]);
}

// 출력: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

이 예제에서는 첫 번째 for문을 사용하여 리스트에 1부터 10까지의 숫자를 할당하고, 두 번째 for문을 사용하여 리스트의 모든 원소를 출력하였습니다. 이때, numbers.Count를 사용하여 리스트의 길이를 구할 수 있습니다. 리스트에 요소를 추가할 때는 Add 메서드를 사용합니다.

5. 리스트의 주요 메서드

C#의 List 클래스는 다양한 메서드를 제공하여 리스트의 원소를 조작하는 데 도움이 됩니다. 주요 메서드에 대해 알아보겠습니다.

1. Add: 원소를 리스트의 끝에 추가합니다.

List<int> numbers = new List<int>();
numbers.Add(1);
Console.WriteLine(numbers[0]); // 출력: 1

2. Remove: 특정 원소를 리스트에서 제거합니다. 원소가 여러 개 있는 경우 가장 먼저 나오는 원소만 제거됩니다.

List<int> numbers = new List<int> {1, 2, 1, 3};
numbers.Remove(1);
Console.WriteLine(numbers[0]); // 출력: 2

3. RemoveAt: 지정한 인덱스의 원소를 리스트에서 제거합니다.

List<int> numbers = new List<int> {1, 2, 3};
numbers.RemoveAt(0);
Console.WriteLine(numbers[0]); // 출력: 2

4. Sort: 리스트의 원소를 오름차순으로 정렬합니다.

List<int> numbers = new List<int> {3, 1, 2};
numbers.Sort();
Console.WriteLine(numbers[0]); // 출력: 1

5. Reverse: 리스트의 원소를 역순으로 배치합니다.

List<int> numbers = new List<int> {1, 2, 3};
numbers.Reverse();
Console.WriteLine(numbers[0]); // 출력: 3

6. Find: 주어진 조건에 맞는 첫 번째 원소를 찾습니다. 조건은 람다 식으로 제공됩니다.

List<int> numbers = new List<int> {1, 2, 3};
int found = numbers.Find(x => x > 1);
Console.WriteLine(found); // 출력: 2

참고 자료

함께 보면 좋은 이전 게시글

위로 스크롤