我有一个对象数组(如下所示)。每个对象数组都包含一个多维对象数组。在我实际尝试引用一个元素之前,一切似乎都很好。
object[] dataArrays = new object[3];
object[,] valueArray = (object[,])Rng.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
dataArrays[0] = valueArray;
所以我想我可以简单地做下面的一行,
dataArrays [0] [3,4]
但是我收到一条错误消息,提示不能将[]的索引应用于类型为object的表达式,那么如何引用元素?
答案 0 :(得分:6)
您必须使用声明形式来强制转换元素。问题在于dataArrays[0]
的类型只是object
,而不是object[,]
。它可以是字符串,也可以是任何其他引用。
如果dataArrays
始终持有object[,]
引用,我建议您在声明中明确指出:
object[][,] dataArrays = new object[3][,];
您现有的其余代码都可以使用,但是dataArrays[0][3,4]
也可以。
(如果可以的话,我还建议您尽早将数据转换为更有用的类型的表示形式。我了解根据您的情况,这可能无法实现。)