我正在使用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 的数组...