(VS2010中的C#)
我从名为multiplyMatrix(m1,m2)
的方法中获取了一个对象。
此方法的签名是:public object multiplyMatrix(object[,] m1, object[,] m2)
然后,
object toCheckOutput = multiplyMatrix(m1, m2);
此行有效,但我必须验证“数组”中的数据。当我在观察窗口中观察变量toCheckOutput时,我得到值{object[4,4]}
和类型object{object[,]}
。
如果我尝试使用toCheckOutput[0,1]
访问“数组”的值,我会从编译器中收到以下错误:
无法将带有[]的索引应用于“object”类型的表达式。
有人知道如何解决这个问题吗?我用类型转换器对类型转换进行了尝试,但这也没有用。
答案 0 :(得分:1)
听起来方法签名应该是public object[,] multiplyMatrix(object[,] m1, object[,] m2)
。如果您可以控制此API,请在那里进行修复。
如果没有,只需解决问题:
object[,] toCheckOutput = (object[,])multiplyMatrix(m1, m2);
编译器不允许您索引object
,因为object
没有索引器;你需要确保编译器知道该对象实际上是一个数组。