访问一组对象

时间:2014-03-15 12:52:14

标签: c# .net arrays object casting

我有以下对象

Object myobj = new[]
{

    new MyClass(),
    new MyClass()

};

如何以数组形式访问它?

我已经尝试了((Array) myobj)[0],但却给了我错误:

  

((Array)myobj)[0]不能将[]索引应用于'System.Array'类型的表达式

2 个答案:

答案 0 :(得分:1)

<强>初始化

var myobj = new[]
{
    new MyClass(),
    new MyClass()
};

安全使用

var myClass = myobj.ElementAt(0) as MyClass;
//Or var myClass = myobj[0] as MyClass;

if (myClass != null)
{
    //Do the Stuff
}

答案 1 :(得分:1)

当您将类型声明为object时,您只能访问Object类上声明的成员。您应该更精确地指定类型:

MyClass[] myobj = new[]
{
    new MyClass(),
    new MyClass()
};