【问题标题】:How to iterate over an array of dynamic type in C# 4.0?如何在 C# 4.0 中迭代动态类型的数组?
【发布时间】:2017-03-30 06:17:29
【问题描述】:

您好,我有一个动态类型的数组,我想对其进行迭代。但是当我说 arrayObject.lenght 时,我得到以下错误:

“object”不包含“length”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“length”

如何遍历数组?

[更新]

我使用 jquery ajax 发布了一个自定义 json 对象,并且我已经为无类型的 JSON 编写了一个模型绑定器。这是截图:

【问题讨论】:

  • 也许你可以展示一些你正在做什么的代码?

标签: c#-4.0


【解决方案1】:

找到解决方案:

foreach (dynamic item in cartJsonObject)
{
   // code here
}

我尝试使用for 循环和foreach 使用var 类型。将其更改为dynamic 即可解决。

【讨论】:

  • 要完成这项工作,您可能需要添加对“Microsoft.CSharp”的引用。
【解决方案2】:

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

【讨论】:

  • 'object' 不包含 'Count' 的定义并且没有扩展方法 'Count'
猜你喜欢
  • 2011-05-14
  • 2011-09-11
  • 1970-01-01
  • 2012-02-18
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
相关资源
最近更新 更多