首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Double Array to Object Array?

Double Array to Object Array?
EN

Stack Overflow用户
提问于 2012-11-13 21:08:01
回答 4查看 6.8K关注 0票数 2

我有以下数组:

代码语言:javascript
复制
double[] Series = new double[] { 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 }

系列调试视图:

代码语言:javascript
复制
> Series
--> [0]
--> [1]
--> ...
--> [10]
--> [11]

当我写下以下内容时:

代码语言:javascript
复制
object[] object_array = new object[] { Series }

object_array调试视图:(多个级别)

代码语言:javascript
复制
> object_array
--> [0]
----> [0]
----> [1]
----> ...
----> [10]
----> [11]

为了防止新的升级,我写了以下内容:

代码语言:javascript
复制
object[] object_array = new object[Series.Length];
for (int i = 0; i < Series.Length; i++)
{
    object_array[i] = Series[i];
}

这是另一种解决方案。但我认为,可能有更好的方法来做到这一点。使用上面的循环有问题吗?或者用不同的方式?

(我使用highcharts。如果我给出一个包含多个级别的数组,它将不起作用。)

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-13 21:14:13

通过这样做

代码语言:javascript
复制
object[] object_array = new object[] { Series }

您正在将一个双精度数组指定为数组object_array的第一个对象项。您实际上是在创建只有一行的2D数组。您可以使用类似以下内容:

代码语言:javascript
复制
double[] Series = new double[] { 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 };
object[] object_array = new object[Series.Length];
Series.CopyTo(object_array, 0);
票数 4
EN

Stack Overflow用户

发布于 2012-11-13 21:10:17

代码语言:javascript
复制
var object_array = Series.Cast<object>().ToArray();
票数 7
EN

Stack Overflow用户

发布于 2012-11-13 21:11:16

使用LINQ:

代码语言:javascript
复制
double[] series = new double[] { 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 };
object[] seriesAsAbjectArray = series.Cast<object>().ToArray();

不能只是将其转换为object[]的原因是double是一个值类型,因此您必须创建一个包含已装箱的double-items的新数组。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13361298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档