C# 如何获取对象数组列表中的元素

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

我试图获取对象[]的值,但使用foreach效果不佳。 对象[]包含对象[]的列表如何获取数据

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
}