C#数组创建

时间:2016-06-05 16:22:04

标签: c# arrays dynamic expandoobject

我无法弄清楚如何创建动态泛型ExpandoObject元素的数组。

我从这个声明开始,它有效:

/* WORKS */
dynamic expando = new ExpandoObject() as IDictionary<string,object>;

我想要的是一个由这些对象组成的数组。我尝试的语法是:

/* DOES NOT WORK */    
var expandoArray = new ExpandoObject[] as IDictionary<string, object>
{
    new ExpandoObject() as IDictionary<string, object>,
    new ExpandoObject() as IDictionary<string, object>
};

我的想法是,在创建了expandoArray之后,我可以通过使用这样的结构将其元素称为动态(参见http://weblog.west-wind.com/posts/2012/Feb/01/Dynamic-Types-and-DynamicObject-References-in-C):

dynamic expandoArrayDynamic = expandoArray[x];

所以,我的两个具体问题是: 1.如何创建一个Expando数组作为IDictionary对象? 2.如何将数组元素视为动态对象?

1 个答案:

答案 0 :(得分:2)

这样做你想要的吗?

var expandoArray = new IDictionary<string, object>[]
{
    new ExpandoObject(),
    new ExpandoObject(),
};