Foreach 对象循环
Posted
技术标签:
【中文标题】Foreach 对象循环【英文标题】:Foreach object loop 【发布时间】:2013-05-20 04:49:22 【问题描述】:我已经编码:
foreach (KeyValuePair<string, object> keyValuePair in items)
if (keyValuePair.Key == "animals")
Dictionary<string, object> animal = new Dictionary<string, object>();
animal.Add(keyValuePair.Key, keyValuePair.Value);
object animalObject = keyValuePair.Value;
foreach (??? in animalObject)
object fajny = keyValuePair.Value;
result2 = fajny as ArrayCollection;
我想从animalObject对象循环字典元素:
http://scr.hu/0tgp/6dteu http://screenshu.com/static/uploads/temporary/1h/1p/05/3p9fyc.jpg
我不知道该怎么做。我无法在任何地方搜索帮助。
【问题讨论】:
object
是什么?
使用 var 或其他对象应该可以让你这样做,但你的代码看起来很奇怪,你没有定义任何东西
你的 animalObject 的底层对象类型是什么?我假设它是某种集合,因为您正在尝试对其进行迭代。
如果你在items
中的Value
在普通的object
之外还有其他意义,那么你应该改用Dictionary<string, SomeCollection>
。
我不知道你为什么要循环字典来查找“动物”。你应该可以做到:foreach (var animal in items["animals"])
【参考方案1】:
您可以尝试转换为 IEnumerable
,但我建议尝试保留强类型。
foreach (KeyValuePair<string, object> keyValuePair in items)
if (keyValuePair.Key == "animals")
Dictionary<string, object> animal = new Dictionary<string, object>();
animal.Add(keyValuePair.Key, keyValuePair.Value);
IEnumerable animalObject = keyValuePair.Value as IEnumerable;
if(animalEnumerable != null)
foreach (object animalObj in animalEnumerable)
【讨论】:
【参考方案2】:您是否尝试遍历字典中的值:animal
?
foreach (object animalObject in animal.Values)
【讨论】:
scr.hu/0tgp/42s5d 我想将对象 (Dictionary以上是关于Foreach 对象循环的主要内容,如果未能解决你的问题,请参考以下文章