如何在C# 4.0中迭代一个动态类型数组?

9

你好,我有一个动态类型的数组,想要遍历它。但是当我使用 arrayObject.length 时,出现以下错误:

'object' 不包含 'length' 的定义,并且没有接受类型为 'object' 的第一个参数的 'length' 扩展方法

我该如何遍历这个数组呢?

[更新]

我使用 jQuery Ajax 发布了一个自定义的 JSON 对象,并编写了一个未命名的 JSON 模型绑定器。以下是屏幕截图:

enter image description here


也许你可以展示一下你正在做的具体代码? - ChrisWue
2个回答

32

找到了解决方案:

foreach (dynamic item in cartJsonObject)
{
   // code here
}
我曾尝试使用 for 循环和 foreach 循环,并使用 var 类型。将其更改为 dynamic 后问题得以解决。

1
为使此功能正常工作,您可能需要添加对“Microsoft.CSharp”的引用。 - woddle

0

这个错误很可能意味着你拥有的不是一个数组,而是另一个集合 - IEnumerable 是我最好的猜测。你可以使用 Linq 提供的 Count() 扩展方法来检索元素的数量。


1
“object”不包含名为“Count”的定义,也没有扩展方法“Count”。 - Amit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接