[英]Converting double?[ ] to object[ ] in c#
I am using DotNet.Highcharts in my C# program. 我在C#程序中使用DotNet.Highcharts。 The data element for series items requires an
object[]
. 系列项目的数据元素需要一个
object[]
。 The data I'm using is coming from a LINQ method as shown below. 我正在使用的数据来自LINQ方法,如下所示。 The code below also converts the
double?[]
to a List<object>
then to the desired object[]
. 下面的代码还将
double?[]
转换为List<object>
然后转换为所需的object[]
。
double?[] data = (from c in context.CTSeries
select c.CTDI).Take(1000).ToArray();
List<object> dataList = new List<object>();
foreach (double? ctdi in data)
{
dataList.Add( Convert.ChangeType(ctdi, typeof(Object)));
}
object[] dataArray = dataList.ToArray();
return dataArray;
Is there a better/more efficient way of getting the object[]
from a double?[]
? 是否有更好/更有效的方法来从
double?[]
中获取object[]
double?[]
?
Use LINQ and cast double?
使用LINQ并
double?
to object
object
List<object> dataList = data.Select(d => (object)d).ToList();
or to return an array 或返回一个数组
return data.Select(d=> (object)d).ToArray();
You can just Cast<object>()
instead of creating extra intermediate array: 您可以只
Cast<object>()
而不是创建额外的中间数组:
double?[] data = (from c in context.CTSeries
select c.CTDI).Take(1000)
.Where(v => v.HasValue) // if needed
.Cast<object>()
.ToArray();
List<object> dataList = data.Select(d => d == null ? null : (object)d).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.