如何快速向上转换对象[,]为双[,]? [英] How can I quickly up-cast object[,] into double[,]?
本文介绍了如何快速向上转换对象[,]为双[,]?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用的Microsoft.Office.Interop.Excel
我得到返回的类型的二维数组对象[,]
其中包含双击
的元素。需要注意的是下界指数 1
而不是默认的 0
,但我可以处理,很容易。
如何的很好的转换数组双击[,]
使用.NET 3.5。 (由很好我的意思是简洁,或紧凑型)。
注意
双击[] = values_2&values.Cast LT;双>()ToArray的()。
做工作,但它通过平坦数组转换成一维结构。
解决方案
对象[,] SRC =新对象[2,3];//使用测试双打初始化SRC。
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;双[,] DST =新的双[src.GetLength(0),src.GetLength(1)];
Array.Copy(SRC,DST,src.Length);
I using Microsoft.Office.Interop.Excel
I get returned a 2D array of type object[,]
which contains double
for elements. Note that the index lower bound is 1
instead of the default 0
, but I can deal with that easily.
How can nicely convert the array into double[,]
using .NET 3.5. (by nicely I mean concise, or compact).
Note that
double[] values_2 = values.Cast<double>().ToArray();
does work, but it flattens by array into a 1D structure.
解决方案
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);
这篇关于如何快速向上转换对象[,]为双[,]?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文