2013-05-09 48 views
0

我循環字典類型和獲取的問題,不明白我在做什麼錯,做了大量的谷歌搜索,但:(循環問題與解釋C#

//Tour class have dictionary property of type <int, string> 
public Dictionary<int, string> listTourCategoriesNames { get; set; } 

在前端我需要遍歷該財產,並填寫到ListOfActivities列表

public class TourActivitiesDB 
    { 
     public int ID { get; set; } 
     public string Name { get; set; } 
    } 

this.ListOfActivities = new List<TourActivitiesDB>(); 
foreach (var item in tourDB.listTourCategoriesNames) 
{ 
    this.ListOfActivities.Add(new TourActivitiesDB { 
     ID = item.Key, //ERROR HERE 
     Name = item.Value //ERROR HERE 
    }); 
} 

錯誤是:

「串」不包含「柯定義Y」和沒有擴展方法‘按鍵’接受類型的第一個參數‘字符串’可以找到(是否缺少using指令或程序集引用?)

‘字符串’不包含「價值」和沒有擴展方法「值」接受類型「字符串」的第一個參數的定義可以找到(是否缺少using指令或程序集引用?)

我還在foreach循環中使用KeyValuePair而不是var,但得到同樣的問題。謝謝。

附加的截圖,你可以在這裏使用權類型與我的字典裏看到,即時通訊:

enter image description here

+6

您工作** SURE **這是一個詞典? – 2013-05-09 06:47:20

+0

是的。我在頂部的問題中也提到過。 @ofstream – 2013-05-09 06:51:49

+1

你能告訴我們什麼tourDB.listTourCategoriesNames包含它失敗時?構建時發生錯誤 – 2013-05-09 06:54:19

回答

0

我只是測試,它似乎證明

Dictionary<int, string> dic = new Dictionary<int, string> { { 1, "one" }, { 2, "two" } }; 
foreach (KeyValuePair<int, string> kvp in dic) 
{ 
    Debug.WriteLine($"{kvp.Key} {kvp.Value}"); 
}