[c#] 컬렉션 데이터 타입

C#은 다양한 데이터를 저장하고 처리하기 위한 여러 유용한 컬렉션 데이터 타입을 제공합니다. 이러한 컬렉션은 데이터 구조에 따라 다양한 용도로 사용될 수 있습니다. 각 컬렉션의 특징과 사용법을 살펴보겠습니다.

List 컬렉션

List<T>는 동적 배열을 나타내는 데이터 구조로, 크기가 동적으로 조정될 수 있습니다. 이는 데이터를 추가하거나 제거할 때 유용합니다.

예시:

List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Remove(1);

Dictionary<K, V> 컬렉션

Dictionary<K, V>는 키-값 쌍의 집합을 나타내는 데이터 구조로, 특정 키를 사용하여 값을 검색할 수 있습니다.

예시:

Dictionary<string, int> ages = new Dictionary<string, int>();
ages.Add("John", 25);
ages.Add("Alice", 30);
int johnsAge = ages["John"]; // 25

Queue 컬렉션

Queue<T>는 FIFO(First-In-First-Out) 데이터 구조를 나타내며, 데이터가 추가된 순서대로 제거됩니다.

예시:

Queue<string> messages = new Queue<string>();
messages.Enqueue("First message");
string msg = messages.Dequeue(); // "First message"

Stack 컬렉션

Stack<T>은 LIFO(Last-In-First-Out) 데이터 구조를 나타내며, 데이터가 추가된 역순으로 제거됩니다.

예시:

Stack<int> numbers = new Stack<int>();
numbers.Push(1);
numbers.Push(2);
int num = numbers.Pop(); // 2

HashSet 컬렉션

HashSet<T>은 중복된 요소가 없는 데이터 집합을 나타내는 데이터 구조로, 고유한 값의 저장에 사용됩니다.

예시:

HashSet<string> uniqueNames = new HashSet<string>();
uniqueNames.Add("John");
uniqueNames.Add("Alice");
uniqueNames.Add("John"); // 중복된 요소는 추가되지 않음

위에서 설명한 각 컬렉션들은 C# 언어에서 다양한 상황에 유용하게 사용됩니다. 이러한 컬렉션은 데이터 처리 및 관리를 보다 쉽게 만들어 주며, 개발자가 효율적으로 프로그램을 작성할 수 있도록 도와줍니다.

이 외에도 C#에서는 더 많은 컬렉션 데이터 타입을 지원하고 있으며, 각각의 장단점을 고려하여 상황에 맞는 데이터 구조를 선택할 수 있습니다.

더 많은 정보를 원한다면 Microsoft의 공식 C# 문서를 참조하시기 바랍니다.