2012-06-29 53 views
1

我正在使用C#的Winforms應用程序。我有一個具有特定對象的字典,該對象具有屬性Id和DocType。我如何訪問foreach語句中每個對象的屬性。我試着用下面的代碼,但不工作。任何幫助嗎?訪問字典內的對象的屬性

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

      } 
+1

的隱式類型局部變量讓你對字典的元素的類型困惑。 –

回答

4

如果foreach你得到的KeyValuePair<TKey,TValue>序列的字典;嘗試:

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).Id。 –

+0

當我輸入pair.Value。 ,我不能看到屬性Id和docType。我只能看到.compareTo,ToString,GetType,GetHashCode,GetTypeCode和Equals。 – user1292656

+0

@Andre不是一個盒子/ unbox –