0

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

//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' 的定义,并且找不到接受'string' 类型的第一个参数的扩展方法'Key'(您是否缺少 using 指令或程序集引用?)

“字符串”不包含“值”的定义,并且找不到接受“字符串”类型的第一个参数的扩展方法“值”(您是否缺少 using 指令或程序集引用?)

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

附上屏幕截图,您可以在其中看到我在我的字典中使用了正确的类型:

在此处输入图像描述

4

1 回答 1

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}");
}
于 2017-07-21T16:20:13.160 回答