Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# NameValueCollection 클래스 사용법 – 하나의 키에 여러 값 저장하기

C#의 NameValueCollection 클래스는 하나의 키(key)에 두 개 이상의 값을 저장할 수 있도록 지원하는 특별한 컬렉션입니다. 일반적인 딕셔너리나 해시테이블과 달리, 동일한 키로 여러 값을 관리해야 하는 상황에서 매우 유용하게 활용됩니다.

NameValueCollection이란?

NameValueCollection은 System.Collections.Specialized 네임스페이스에 포함된 클래스로, 문자열 기반의 키와 값을 저장하며 하나의 키에 복수의 값을 연결할 수 있다는 점이 가장 큰 특징입니다.

컬렉션 생성 및 값 추가하기

먼저 컬렉션을 생성하고 값을 설정하는 메서드를 작성해 보겠습니다.

static NameValueCollection GetCollection() {
   NameValueCollection myCollection = new NameValueCollection();
   myCollection.Add("Tim", "One");
   myCollection.Add("John", "Two");
   myCollection.Add("Jamie", "Three");
   return myCollection;
}

위 코드에서는 Add() 메서드를 사용하여 각각의 키에 해당하는 값을 추가하고 있습니다. 만약 동일한 키로 다시 Add()를 호출하면 기존 값을 덮어쓰지 않고 새로운 값이 추가된다는 점을 기억하세요.

AllKeys 속성으로 전체 키 출력하기

이제 앞서 작성한 GetCollection() 메서드를 호출하고, "AllKeys" 속성을 활용하여 컬렉션에 저장된 모든 키를 화면에 출력해 보겠습니다.

NameValueCollection myCollection = GetCollection();
foreach (string key in myCollection.AllKeys) {
   Console.WriteLine(key);
}

실행 결과

Tim
John
Jamie

AllKeys 속성은 컬렉션에 포함된 모든 키를 문자열 배열 형태로 반환합니다. 이를 foreach 문과 함께 사용하면 저장된 키를 손쉽게 순회하며 처리할 수 있습니다.