posted by 방랑군 2012. 1. 7. 16:55

출처 :  http://blog.naver.com/PostView.nhn?blogId=alfustnals&logNo=140142225754&categoryNo=41&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=search

ictionary 인터페이스
 

 IDictionary 인터페이스는 그림을 보면 알듯이...;;; ICollection으로부터 파생됬다.

 이 인터페이스의 가장 큰 특징중 하나가 순서에 의해 가던 IList와 달리 흔히 말하는

 키(Key) 와 값(Value)로 대응시켜 데이터를 삽입하고 추출 하는 방법을 제공 한다.

 한마디로 말하면 예전에 내가 해쉬테이블로 예제를 만들어서 공부한것을 올려놧

 었는데 어떤 키를 주면 그 값을 불러올 수 있듯이 데이터에 특정 키를 연결 시켜

 데이터를 추출 한다고 보면 된다.

IDictionary 속성과 함수

 IDictionary 속성

   멤버

                            설명 

 bool IsFixedSize {get;}

 컬렉션의 크기가 정해져 잇는지 검사 

 bool IsReadOnly {get;}

 컬렉션이 읽기 전용인지 검사

 ICollection Key {get;}

 컬렉션 내의 모든 키를 나열

 ICollection Values{get;}

 컬렉션 내의 모든 값을 나열

 IDictionary 함수

              멤버

                  설명 

 void Add(object key, object value)

키/밸류를 전달해 컬렉션에 데이터를 추가

 void Clear()

컬렉션 비움

 bool Contains(object Key)

특정 키가 데이터와 연관 되어있는지 검사

 IDictionaryEnumerator GetEnumerator()

키와값을 나열한다.

 void Remove(object key)

키를 전달하여 데이터를 삭제

 그림 및 내용 데이터 참고 하였습니다.

 ==> http://www.jabook.com/

예제__)

  Hashtable ht = new Hashtable();
   ht.Add("홍길동", "a1");
  ht.Add("홍드로", "b1");
  ht.Add("양현종", null); // 밸류값은 널 가능


  List<string> aList = new List<string>();
  foreach (DictionaryEntry Dic in ht)
  {

   string aKey = (string)Dic.Key;
   string aValue = (string)Dic.Value;
   if (aValue == "a1")
   {
     aList.Add(aKey);
   }
  }