尝试引用对象数组内部的多维对象数组中的元素

时间:2018-11-30 10:05:31

标签: c# .net

我有一个对象数组(如下所示)。每个对象数组都包含一个多维对象数组。在我实际尝试引用一个元素之前,一切似乎都很好。

 object[] dataArrays = new object[3];
 object[,] valueArray = (object[,])Rng.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
 dataArrays[0] = valueArray;

所以我想我可以简单地做下面的一行,

  

dataArrays [0] [3,4]

但是我收到一条错误消息,提示不能将[]的索引应用于类型为object的表达式,那么如何引用元素?

1 个答案:

答案 0 :(得分:6)

您必须使用声明形式来强制转换元素。问题在于dataArrays[0]的类型只是object,而不是object[,]。它可以是字符串,也可以是任何其他引用。

如果dataArrays 始终持有object[,]引用,我建议您在声明中明确指出:

object[][,] dataArrays = new object[3][,];

您现有的其余代码都可以使用,但是dataArrays[0][3,4]也可以。

(如果可以的话,我还建议您尽早将数据转换为更有用的类型的表示形式。我了解根据您的情况,这可能无法实现。)