如何快速将对象[,]上传到double [,]?

ja7*_*a72 13 c# vb.net office-interop

我使用Microsoft.Office.Interop.Excel我返回一个object[,]包含double元素的2D数组类型.请注意,索引下限1不是默认值0,但我可以轻松处理.

如何很好地将数组转换为double[,]使用.NET 3.5.(很好地,我的意思是简洁,或紧凑).

注意

double[] values_2 = values.Cast<double>().ToArray();
Run Code Online (Sandbox Code Playgroud)

确实有效,但它通过阵列变平为一维结构.

Mar*_*lon 29

object[,] src = new object[2, 3];

// Initialize src with test doubles.
src[0, 0] = 1.0;
src[0, 1] = 2.0;
src[0, 2] = 3.0;
src[1, 0] = 4.0;
src[1, 1] = 5.0;
src[1, 2] = 6.0;

double[,] dst = new double[src.GetLength(0), src.GetLength(1)];
Array.Copy(src, dst, src.Length);
Run Code Online (Sandbox Code Playgroud)

  • 神圣的废话有效!谢谢.再次受到SO的教育.谢谢! (5认同)
  • 这将很有效,因为我也可以反过来使用它,将值重新放回Excel.忘记LINQ,使用Dotnet v1.0好的旧的静态函数`Array`. (5认同)