2011-08-20 48 views
0

(VS2010中的C#)从值对象获取值[4,4]

我从名为multiplyMatrix(m1,m2)的方法获取对象。 此方法的签名是:public object multiplyMatrix(object[,] m1, object[,] m2)

然后,

object toCheckOutput = multiplyMatrix(m1, m2); 

该行工作,但我需要验证“阵列”中的数据。当我在监视窗口中观看变量toCheckOutput时,我获得值{object[4,4]}object{object[,]}

如果我尝试与toCheckOutput[0,1]访问“阵列”的值,我从编译器得到以下错误:

无法应用用[]索引到类型“对象”的表达。

有人知道如何解决这个问题吗?我试图通过类型转换来强制类型转换,但这也不起作用。

+0

请发布您的代码示例,并说明出错的地方。 – Oded

+0

而不是*描述*代码,请发布一个简短但完整的程序来说明问题。 Casting应该可以正常工作,但我们不知道'toCheckOutput'引用的对象究竟是什么类型。为什么'multiplyMatrix'不会返回更有用的东西? –

+0

什么是这些对象,为什么你不使用数字类型? –

回答

1

听起来像方法签名应该是public object[,] multiplyMatrix(object[,] m1, object[,] m2)。如果您可以控制此API,请在此处进行修复。

如果没有,只是解决问题投:

object[,] toCheckOutput = (object[,])multiplyMatrix(m1, m2); 

编译器不会让你指数object因为object没有索引;您需要确保编译器知道该对象实际上是一个数组。