C# 为什么可以';我不能反复翻阅这本词典吗?
我认为这应该是相对简单的,我在这里首先运行这段代码,它使用第三方软件作为字典返回一组值:C# 为什么可以';我不能反复翻阅这本词典吗?,c#,asp.net-mvc-3,dictionary,C#,Asp.net Mvc 3,Dictionary,我认为这应该是相对简单的,我在这里首先运行这段代码,它使用第三方软件作为字典返回一组值: List<Dictionary<string, long>> result = 3rdPartyConnection.GetPlans(id, params); List result=3rdPartyConnection.GetPlans(id,params); 然后,我尝试使用以下代码循环这些结果(以便可以使用它们和其他值填充viewmodel),首先使用viewmodel声
List<Dictionary<string, long>> result = 3rdPartyConnection.GetPlans(id, params);
List result=3rdPartyConnection.GetPlans(id,params);
然后,我尝试使用以下代码循环这些结果(以便可以使用它们和其他值填充viewmodel),首先使用viewmodel声明一个新列表,然后循环结果以填充模型:
List<OptionViewModel> AvailableOptions = new List<OptionViewModel>();
foreach (KeyValuePair<string, long> item in result)
{
OptionViewModel c = new OptionViewModel();
c.Code = item.Key;
c.Value = item.Value;
AvailableOptions.Add(c);
}
List AvailableOptions=new List();
foreach(结果中的KeyValuePair项)
{
OptionViewModel c=新的OptionViewModel();
c、 代码=项。键;
c、 价值=项目价值;
添加(c);
}
但它只会产生以下错误:
Error 257 Cannot convert type 'System.Collections.Generic.Dictionary<string,long>' to 'System.Collections.Generic.KeyValuePair<string,long>'
错误257无法将类型“System.Collections.Generic.Dictionary”转换为“System.Collections.Generic.KeyValuePair”
我不明白问题是什么,从我在c#上读到的内容来看,这就是你循环浏览字典的方式。我有一种感觉,这是我的一种简单的疏忽……这是一个词典列表,而不是一本词典。在彼此内部使用两个foreach
循环
有时最好在foreach
循环中使用var
:foreach(varitem in…
它可以帮助您在不引入强制转换的情况下确定迭代变量类型。它是一个字典的列表,而不是一个字典。在彼此内部使用两个foreach
循环
有时最好在foreach
循环中使用var
:foreach(var项在…
中)它可以帮助您在不引入强制转换的情况下确定迭代变量的类型。您需要首先遍历列表
,遍历每个字典,此时,您可以遍历键值对:
foreach (Dictionary<string, long> dic in result)
{
foreach(KeyValuePair<string, long> item in dic)
{
OptionViewModel c = new OptionViewModel();
c.Code = item.Key;
c.Value = item.Value;
AvailableOptions.Add(c);
}
}
foreach(结果中的字典dic)
{
foreach(dic中的KeyValuePair项)
{
OptionViewModel c=新的OptionViewModel();
c、 代码=项。键;
c、 价值=项目价值;
添加(c);
}
}
您需要首先遍历列表,遍历每个字典,然后遍历键值对:
foreach (Dictionary<string, long> dic in result)
{
foreach(KeyValuePair<string, long> item in dic)
{
OptionViewModel c = new OptionViewModel();
c.Code = item.Key;
c.Value = item.Value;
AvailableOptions.Add(c);
}
}
foreach(结果中的字典dic)
{
foreach(dic中的KeyValuePair项)
{
OptionViewModel c=新的OptionViewModel();
c、 代码=项。键;
c、 价值=项目价值;
添加(c);
}
}
这是一个字典列表-因此你必须先浏览该列表。这是一个字典列表-因此你必须先浏览该列表。谢谢!就像我想象的那样简单!谢谢就像我想象的那样简单!