在 C# 中将 double?[ ] 转换为 object[ ]
Converting double?[ ] to object[ ] in c#
我在我的 C# 程序中使用 DotNet.Highcharts。系列项目的数据元素需要 object[]
。我使用的数据来自 LINQ 方法,如下所示。下面的代码还将 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;
是否有 better/more 从 double?[]
获取 object[]
的有效方法?
您可以 Cast<object>()
而不是创建额外的中间数组:
double?[] data = (from c in context.CTSeries
select c.CTDI).Take(1000)
.Where(v => v.HasValue) // if needed
.Cast<object>()
.ToArray();
使用 LINQ 并将 double?
转换为 object
List<object> dataList = data.Select(d => (object)d).ToList();
或return一个数组
return data.Select(d=> (object)d).ToArray();
List<object> dataList = data.Select(d => d == null ? null : (object)d).ToList();
我在我的 C# 程序中使用 DotNet.Highcharts。系列项目的数据元素需要 object[]
。我使用的数据来自 LINQ 方法,如下所示。下面的代码还将 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;
是否有 better/more 从 double?[]
获取 object[]
的有效方法?
您可以 Cast<object>()
而不是创建额外的中间数组:
double?[] data = (from c in context.CTSeries
select c.CTDI).Take(1000)
.Where(v => v.HasValue) // if needed
.Cast<object>()
.ToArray();
使用 LINQ 并将 double?
转换为 object
List<object> dataList = data.Select(d => (object)d).ToList();
或return一个数组
return data.Select(d=> (object)d).ToArray();
List<object> dataList = data.Select(d => d == null ? null : (object)d).ToList();