我正在使用Microsoft.Office.Interop.Excel
命名空间,并且正在创建一个图表。在某个时刻,我想检索某个系列的值。在MSDN上,它说Series
对象具有属性Values
。这将返回一个Range
对象或一个array of values
,我假设一个object[]
. 在我的代码中,我有以下声明:
Series series = (Series)chart.SeriesCollection(i);
object[] values = (object[])series.Values;
我收到一条InvalidCastException
消息:Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
当我使用 Visual Studio 2008 进行调试时,我可以检查它的类型,series.Values
它会显示object{object[1..7]}
. 这意味着(据我所知)它被声明为 anobject
但它的实际类型是object[1..7]
. 但object[1..7]
不是我可以转换为的类型,也不是object[*]
.
我怀疑(或猜测)它可能与数组从 1 而不是 0 开始的事实有关(可能是因为 VB)。我什至不知道你可以在 c# 中定义一个基于 1 的数组...