【发布时间】:2011-07-02 07:09:49
【问题描述】:
我使用Microsoft.Office.Interop.Excel 返回一个object[,] 类型的二维数组,其中包含元素的double。请注意,索引下限是1,而不是默认的0,但我可以轻松处理。
如何很好地使用 .NET 3.5 将数组转换为 double[,]。 (我的意思是简洁或紧凑)。
注意
double[] values_2 = values.Cast<double>().ToArray();
确实有效,但它通过数组扁平化为一维结构。
【问题讨论】:
-
没有“快速”的方法来做到这一点。如果这是您想要的,您必须将所有数据复制到一个新数组中。
-
我害怕那个。
.NET 4.0呢?是否会有一种类型安全的方式来执行 Office 互操作? -
快速如“no cpu”或快速如“a-one-line-statement”
-
你可以用 linq 在一行中完成它,但在计算能力方面它不会更快。
-
我应该补充一点,两个不同的数组(
double的二维数组和object的二维数组,索引从 1 开始)是非常不同的对象。没有办法在它们之间进行转换。
标签: c# vb.net office-interop