2012-06-29 3 views
1

C#을 사용하여 winforms 응용 프로그램을 작성 중입니다. 나는 특정 객체를 가진 사전을 가지고 있으며, 객체는 Id와 DocType 속성을 가지고있다. foreach 문에서 모든 개체의 특성에 어떻게 액세스 할 수 있습니까? 나는 다음 코드를 시도하고 있지만 작동하지 않습니다. 어떤 도움 pls?액세스 사전 내의 객체의 속성

foreach (var doc in crs.DocDictionary) 
      { 
       Console.WriteLine(doc.Id); 
       Console.WriteLine(doc.docType); 

      } 
+1

암시 적 형식 지역 변수는 사전의 요소의 형태에 대해 당신이 혼란스러워한다. –

답변

4

만약 당신이 KeyValuePair<TKey,TValue>의 순서를 얻을 사전에 foreach; 시도 :

foreach (var doc in crs.DocDictionary.Values) 
{ 
    Console.WriteLine(doc.Id); 
    Console.WriteLine(doc.docType); 
} 

또는 :

foreach (var pair in crs.DocDictionary) 
{ 
    Console.WriteLine(pair.Key); 
    Console.WriteLine(pair.Value.Id); 
    Console.WriteLine(pair.Value.docType); 
} 
+0

그게 전부 야. Dictionay 유형이 있는지 확인하십시오. 그래서 ((Document) pair.Value와 같이) 다른 곳으로 상자에 넣을 필요가 없습니다. –

+0

내가 pair.Value를 입력 할 때. , Id 및 docType 특성을 볼 수 없습니다. .compareTo, ToString, GetType, GetHashCode, GetTypeCode 및 Equals 만 볼 수 있습니다. – user1292656

+0

박스/unbox가 아닌 @Andre –