C# 如何从对象中的字典访问值?
好吧,我不确定我问的问题是否正确,但问题来了。我正在使用解析Javascript对象数组。我的代码如下所示:C# 如何从对象中的字典访问值?,c#,javascript,object,dictionary,C#,Javascript,Object,Dictionary,好吧,我不确定我问的问题是否正确,但问题来了。我正在使用解析Javascript对象数组。我的代码如下所示: object packlist; using (var context = new JavascriptContext()) { context.Run(@"function packlist() { this.packs = new Array(); } var packlist = new packlist();
object packlist;
using (var context = new JavascriptContext())
{
context.Run(@"function packlist() { this.packs = new Array(); }
var packlist = new packlist();
packlist.packs[0] = { item1:""something"", item2:""something2"", item3:""something3"" };
packlist.packs[1] = { item1:""something"", item2:""something2"", item3:""something3"" };
packlist.packs[2] = { item1:""something"", item2:""something2"", item3:""something3"" };");
packlist = context.GetParameter("packlist");
}
调试时,“局部变量”窗口显示对象的外观
我的问题是如何从
packlist.packs[0]
访问item1
?一般结构如下:
PackList => Dictionary of <string, Dictionary<string,object>[]>
浏览字典中的所有项目
foreach KeyPairValue<string,object> kp in packlist
{
string key = kp.Key;
object value = kp.Value;
}
打包列表中的foreach KeyPairValue kp
{
字符串键=kp.key;
对象值=kp.值;
}
下面是dictionary类的MSDN链接
总体结构如下:
PackList => Dictionary of <string, Dictionary<string,object>[]>
浏览字典中的所有项目
foreach KeyPairValue<string,object> kp in packlist
{
string key = kp.Key;
object value = kp.Value;
}
打包列表中的foreach KeyPairValue kp
{
字符串键=kp.key;
对象值=kp.值;
}
下面是dictionary类的MSDN链接
我认为是:
var a=packlist.packs[0][“item1”] 我认为是:
var a=packlist.packs[0][“item1”] packlist变量是一个带有单个键的字典,其值是一个对象数组,该数组中的每个条目也是一个字典。所以获取值的过程是这样的
Dictionary<string,object> dicPacklist =(Dictionary<string,object>) packlist;
object[] packs = (object[])dicPacklist["packs"];
Dictionary<string,object> dicPackOne = (Dictionary<string,object>)packs[0];
object item1Value = dicPackOne["item1"]; //"something"
Dictionary dicPacklist=(Dictionary)packlist;
对象[]packs=(对象[])dicPacklist[“packs”];
Dictionary dicPackOne=(Dictionary)包[0];
对象item1Value=dicPackOne[“item1”]//“什么”
您的packlist变量是一个带有单个键的字典,其值是一个对象数组,该数组中的每个条目也是一个字典。所以获取值的过程是这样的
Dictionary<string,object> dicPacklist =(Dictionary<string,object>) packlist;
object[] packs = (object[])dicPacklist["packs"];
Dictionary<string,object> dicPackOne = (Dictionary<string,object>)packs[0];
object item1Value = dicPackOne["item1"]; //"something"
Dictionary dicPacklist=(Dictionary)packlist;
对象[]packs=(对象[])dicPacklist[“packs”];
Dictionary dicPackOne=(Dictionary)包[0];
对象item1Value=dicPackOne[“item1”]//“什么”
packlist是一个字典,其中每个值都是一个字典数组。此代码无效。packlist是一个字典,其中每个值都是一个字典数组。此代码无效。我无法使用packlist
上的扩展方法TryGetValue
或ContainsKey
。我必须做什么才能得到它们?您必须使用“Dictionary packlist=(Dictionary)context.GetParameter(“packlist”);”解析它。您可能还必须解析其他值。我更新了代码。我无法使用packlist
上的扩展方法TryGetValue
或ContainsKey
。我必须做什么才能得到它们?您必须使用“Dictionary packlist=(Dictionary)context.GetParameter(“packlist”);”解析它。您可能还必须解析其他值。我更新了我的代码。谢谢!这对理解它的工作原理有很大帮助。我希望我能投你一票。谢谢你!这对理解它的工作原理有很大帮助。我希望我能投你一票。