Programing/C#
C# 프로그래밍의 기초 : List
유니얼
2024. 3. 3. 00:57
728x90
C#의 List<T>는 동적으로 크기가 조절되는 배열을 제공하는 강력한 데이터 구조입니다. System.Collections.Generic 네임스페이스 내에 위치하며, 제네릭을 통해 다양한 타입의 데이터를 유연하게 처리할 수 있습니다. 배열과 달리 크기가 고정되어 있지 않아, 요소의 추가 및 제거가 자유롭고, 이에 따라 자동으로 크기가 조절됩니다.
List의 주요 특징
- 동적 크기 조정: 요소의 추가 및 제거에 따라 내부 배열의 크기가 자동으로 조절됩니다.
- 제네릭 지원: 다양한 타입의 데이터를 안전하게 저장할 수 있습니다.
- 인덱스 접근: 배열처럼 인덱스를 통해 각 요소에 접근할 수 있습니다.
- 메서드 지원: 요소의 추가, 삭제, 검색, 정렬 등 다양한 메서드를 제공합니다.
주요 메서드 및 속성
- Add(T item): 리스트의 끝에 새 요소를 추가합니다.
- Remove(T item): 리스트에서 첫 번째로 일치하는 요소를 제거합니다.
- RemoveAt(int index): 지정된 인덱스에 있는 요소를 제거합니다.
- Insert(int index, T item): 지정된 인덱스에 요소를 삽입합니다.
- Clear(): 리스트의 모든 요소를 제거합니다.
- Count: 리스트에 있는 요소의 수를 반환합니다.
- Contains(T item): 리스트에 특정 요소가 포함되어 있는지 확인합니다.
- Sort(): 리스트의 요소를 정렬합니다.
List 사용 예제
using System;
class Program
{
static void Main(string[] args)
{
// 문자열 리스트 생성
List<string> fruits = new List<string>();
// 요소 추가
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");
// 인덱스를 통한 요소 접근
Console.WriteLine($"Second fruit: {fruits[1]}"); // 출력: Banana
// 리스트의 요소 순회
Console.WriteLine("Listing all fruits:");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
// 요소 제거
fruits.Remove("Banana"); // "Banana" 요소 제거
Console.WriteLine("After removing 'Banana':");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
// 요소 삽입
fruits.Insert(1, "Mango"); // 인덱스 1에 "Mango" 삽입
Console.WriteLine("After inserting 'Mango':");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
// 리스트 크기 확인
Console.WriteLine($"Number of fruits: {fruits.Count}"); // 출력: 현재 리스트의 요소 수
// 리스트의 특정 요소 포함 여부 확인
Console.WriteLine($"Contains 'Apple': {fruits.Contains("Apple")}"); // "Apple"이 리스트에 있는지 확인
// 리스트 정렬
fruits.Sort();
Console.WriteLine("Fruits after sorting:");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
// 리스트의 모든 요소 제거
fruits.Clear();
Console.WriteLine($"Number of fruits after clearing: {fruits.Count}"); // 출력: 0
}
}
위 예제는 List<string>을 사용하여 문자열 리스트를 생성하고 관리하는 방법을 보여줍니다. 요소의 추가, 접근, 순회, 제거 등의 작업을 간단하게 수행할 수 있습니다.
결론
List<T>는 C#에서 데이터 컬렉션을 관리하는 데 있어 필수적인 도구입니다. 동적 배열의 특성을 가지고 있으며, 다양한 타입의 데이터를 유연하게 처리할 수 있는 강력한 메서드를 제공합니다. List<T>의 이해와 적절한 사용은 데이터 관리의 효율성을 높이고, 프로그램의 유연성을 향상시키는 데 크게 기여합니다.
반응형