6

考虑如图所示的变量 ob4变量 ob4

现在:我怎样才能达到 ob4[0]->[0,2]

var o=ob4[0];
double[,] p=(double[,]) o[0,0];

行 ( double[,] p=(double[,]) o[0,0] ;) 给出以下错误:
无法使用 [] 将索引应用于“对象”类型的表达式

4

2 回答 2

9

您需要先转换o[0, 0]object[,]

var o = (object[,]) ob4[0];
double[,] p = (double[,]) o[0, 0];

如果您可以避免在编译时使用如此少的类型信息的所有这些嵌套多维数组会更好 - 您没有给我们太多上下文,但是如果您可以更改您的对象模型,那将有很大帮助.

于 2013-10-02T09:03:16.900 回答
1

好吧,从错误消息中可以明显看出运行时认为oobject,不是object[,]。因此,您可能希望将代码更改为:

double[,] = (double[,])((object[,])o)[0,0];

现在运行时知道o应该将其视为object[,].

于 2013-10-02T09:07:38.810 回答