字典C的循环问题#

时间:2013-05-09 06:46:20

标签: c# list dictionary foreach key-value

我正在循环一个字典类型并得到问题,不明白我做错了什么,在谷歌上做了很多搜索但是:(

//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
    });
}

错误是:

  

'string'不包含'Key'的定义,也没有扩展方法'Key'可以找到'string'类型的第一个参数(你缺少using指令或汇编引用吗?)

  

'string'不包含'Value'的定义,也没有扩展方法'Value'接受类型'string'的第一个参数(你是否缺少using指令或汇编引用?)

我还在foreach循环中使用了KeyValuePair而不是var,但是遇到了同样的问题。感谢。

附上截图,您可以在此处使用我的字典中的正确类型来查看即时消息:

enter image description here

1 个答案:

答案 0 :(得分: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}");
}