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