C# 从值对象的对象获取值对象[4,4]
(C#在VS2010中) 我从一个名为C# 从值对象的对象获取值对象[4,4],c#,arrays,object,C#,Arrays,Object,(C#在VS2010中) 我从一个名为multilymatrix(m1,m2)的方法中获取一个对象。 此方法的签名是:public object multilymatrix(object[,]m1,object[,]m2) 那么 object toCheckOutput = multiplyMatrix(m1, m2); 此行可以工作,但我必须验证“数组”中的数据。当我在观察窗口中观察变量toCheckOutput时,我得到的是value{object[4,4]}和typeobject{obj
multilymatrix(m1,m2)
的方法中获取一个对象。
此方法的签名是:public object multilymatrix(object[,]m1,object[,]m2)
那么
object toCheckOutput = multiplyMatrix(m1, m2);
此行可以工作,但我必须验证“数组”中的数据。当我在观察窗口中观察变量toCheckOutput时,我得到的是value{object[4,4]}
和typeobject{object[,]}
如果我试图通过访问checkoutput[0,1]
的“array”值,则编译器会出现以下错误:
无法将带[]的索引应用于“object”类型的表达式
有人知道怎么解决这个问题吗?我尝试了使用类型转换而不是类型转换,但这也不起作用。听起来方法签名应该是
公共对象[,]多矩阵(对象[,]m1,对象[,]m2)
。如果您可以控制此API,请在那里进行修复
如果没有,请围绕问题进行思考:
object[,] toCheckOutput = (object[,])multiplyMatrix(m1, m2);
编译器不允许您索引
对象
,因为对象
没有索引器;您需要确保编译器知道对象实际上是一个数组。请发布代码示例并解释错误所在。与其描述代码,不如发布一个简短但完整的程序来演示问题。强制转换应该可以正常工作,但是我们不知道toCheckOutput
引用的对象实际上是什么类型的。为什么multilyMatrix
不返回更有用的东西?这些对象是什么?为什么不使用数字类型?