我有以下对象
Object myobj = new[]
{
new MyClass(),
new MyClass()
};
如何以数组形式访问它?
我已经尝试了((Array) myobj)[0]
,但却给了我错误:
((Array)myobj)[0]不能将[]索引应用于'System.Array'类型的表达式
答案 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()
};