phy*_*s90 1 c# linq highcharts dotnethighcharts
我在我的C#程序中使用DotNet.Highcharts.系列项的数据元素需要一个object[].我正在使用的数据来自LINQ方法,如下所示.下面的代码也将double?[]a 转换为a List<object>then 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;
Run Code Online (Sandbox Code Playgroud)
有没有得到更好/更有效的方式object[]从double?[]?
使用LINQ并double?转换为object
List<object> dataList = data.Select(d => (object)d).ToList();
Run Code Online (Sandbox Code Playgroud)
或者返回一个数组
return data.Select(d=> (object)d).ToArray();
Run Code Online (Sandbox Code Playgroud)
您可以Cast<object>()而不是创建额外的中间数组:
double?[] data = (from c in context.CTSeries
select c.CTDI).Take(1000)
.Where(v => v.HasValue) // if needed
.Cast<object>()
.ToArray();
Run Code Online (Sandbox Code Playgroud)