2013-05-09 87 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}"); 
}