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

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