C# 双数组到对象数组?

C# 双数组到对象数组?,c#,casting,C#,Casting,我有以下数组: 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 } 系列调试视图: > Series --> [0] --> [1] --> ... --> [10] --> [11] 当我写下以下内容时: object[] object_array = new object[] { Series } 对

我有以下数组:

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 }
系列调试视图:

> Series
--> [0]
--> [1]
--> ...
--> [10]
--> [11]
当我写下以下内容时:

object[] object_array = new object[] { Series }
对象\数组调试视图:(多个级别)

我写了以下内容以防止出现新的级别:

object[] object_array = new object[Series.Length];
for (int i = 0; i < Series.Length; i++)
{
    object_array[i] = Series[i];
}
object[]object_数组=新对象[Series.Length];
对于(int i=0;i
这是其他解决方案之一。但我认为,可能有更好的方法来做到这一点。我使用上面的循环有问题吗?还是不同的方式

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

谢谢。

var object_array=Series.Cast().ToArray();
var object_array = Series.Cast<object>().ToArray();

您只需分配它,因为
double
是一个
对象

object[] object_array = Series;
使用LINQ:

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();
double[]系列=新的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[]seriesabjectarray=series.Cast().ToArray();
无法将其强制转换为
对象[]
,原因是
double
是一种值类型,因此您必须创建一个包含已装箱的
double
-项的新数组。

object[] object_array = new object[] { Series }
将双数组指定为数组对象\数组的第一个对象项。实际上,您正在创建一行的二维阵列。您可以使用以下内容:

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);

当我尝试这样做时,我得到了一个错误:“无法将类型“double[]”隐式转换为“object[]”这只是隐藏了它是双数组的事实,而不是将其更改为对象数组。如果传递object_数组[0],它似乎仍然会传递双数组。@ErenErsönmez,对不起,我犯了语法错误。你的代码也是正确的。
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);