C# 如何获取对象数组列表中的元素
我试图获取对象[]的值,但使用foreach效果不佳。 对象[]包含对象[]的列表如何获取数据C# 如何获取对象数组列表中的元素,c#,asp.net,C#,Asp.net,我试图获取对象[]的值,但使用foreach效果不佳。 对象[]包含对象[]的列表如何获取数据 public void SaveBottonTable(string dimension) { JavaScriptSerializer json_serializer = new JavaScriptSerializer(); object[] routes_list = (object[])json_serializer.DeserializeObject(dim
public void SaveBottonTable(string dimension)
{
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
object[] routes_list =
(object[])json_serializer.DeserializeObject(dimension);
GlobalConstant.holeconfiguration = routes_list;//list is referred in the image
foreach(object hole in routes_list)
{
hole[0]//shows error
}
}
您的
json
似乎包含一个字典。在这种情况下,我会将其反序列化为适当的类型Dictionary
。然后在循环时,您可以使用hole.key
获取键,或者使用hole.value
获取值,因为每个元素都是字符串数组,所以您应该将每个对象转换为数组,然后对其进行索引
foreach(object hole in routes_list)
{
var elements = hole.ToArray();
//then you can access elements[0] and elements [1]
}
但是,我认为如果格式是“Key”:“Value”会更好
例子:
{
“对象ID”:“1234123cfrewr”,
“视图”:“封面”,
.
.
}
要小心集合。泛型,因为你有一些字典。他们需要额外照顾。这样:
object[] list = new object[]
{
new object(),
1,
"ciao",
new object[] { 1, 2, 3, 4, 5 },
"pizza",
new object[] { "ciao", "pizza" },
new List<object>(){ 123, 456 }
};
foreach (ICollection collection in list.OfType<ICollection>())
{
//Here you can work with every collection found in your list
}
object[]列表=新对象[]
{
新对象(),
1.
“再见”,
新对象[]{1,2,3,4,5},
“披萨”,
新对象[]{“ciao”,“pizza”},
新列表(){123456}
};
foreach(list.OfType()中的ICollection集合)
{
//在这里,您可以使用列表中的每个集合
}
对象孔
表示单个对象。当您执行孔[0]
操作时,您尝试使用单个对象作为对象数组。这就是为什么会出现错误。您应该执行var routes=hole as object[]
在foreach循环中,然后您可以通过执行routes[0]
,routes[1]
等操作,从routes
访问单个对象。发布json会很好
object[] list = new object[]
{
new object(),
1,
"ciao",
new object[] { 1, 2, 3, 4, 5 },
"pizza",
new object[] { "ciao", "pizza" },
new List<object>(){ 123, 456 }
};
foreach (ICollection collection in list.OfType<ICollection>())
{
//Here you can work with every collection found in your list
}