더북(TheBook)

Note ≡ ListDictionary 클래스 소개

닷넷에서 제공하는 컬렉션 관련 클래스 중에는 ListDictionary라는 독특한 클래스도 있습니다. 중요하지 않은 클래스이니 코드만 간단히 살펴보겠습니다. 다음 내용을 C# 인터렉티브에 입력한 후 실행해 보세요. 프로젝트 기반 소스는 ListDictionaryDemo.cs 파일입니다.

 

1.   네임스페이스를 추가합니다.

> using System.Collections.Specialized;

 

2.   Book 클래스를 하나 만듭니다.

> class Book
. {
.     public string Title { get; set; }
.     public string Author { get; set; }
.     public string ISBN { get; set; }
. }

 

3.   Book 클래스의 개체를 2개 만듭니다. 하나는 속성을 사용하고, 다른 하나는 개체 이니셜라이저를 사용했습니다.

> //① 개체의 인스턴스 생성 -> 속성 값 초기화
> Book b1 = new Book();
> b1.Title = "ASP.NET"; b1.Author = "박용준"; b1.ISBN = "1234";
>
> //② Object Initializer(개체 초기화)
> Book b2 = new Book() { Title = "C#", Author = "박용준", ISBN = "4321" };

 

4.   ListDictionary 개체에 문자열 키 값을 사용하여 Book 개체 2개를 저장합니다. ListDictionary 클래스는 키와 값을 저장할 때 object 형식을 사용합니다.

> //③ ListDictionary 클래스에 개체 담기: Key, Value 쌍으로 개체 값 저장
> ListDictionary ld = new ListDictionary();
> ld.Add("첫번째", b1);
> ld.Add("두번째", b2);

 

5.   ListDictionary 개체에 저장된 값을 키로 검색한 후 Book 클래스 형식으로 변환하고 각 속성 값을 출력합니다.

> //④ object 형식으로 저장된 값을 Book으로 변환한 후 출력
> ((Book)ld["첫번째"]).Title
"ASP.NET"
> Book b = (Book)ld["두번째"];
> Console.WriteLine("{0}, {1}, {2}", b.Title, b.Author, b.ISBN);
C#, 박용준, 4321

 

ListDictionary 클래스는 제네릭 클래스가 아니기에 거의 사용하지 않습니다. 하지만 키와 값으로 저장되는 클래스 중 하나이기에 이 예제에서 다루어 보았습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.