强制转换无效-对象数组转换为双数组

时间:2018-08-09 14:31:06

标签: c# arrays

当我尝试将对象数组转换为双精度数组时,抛出异常,说明强制转换无效。请帮忙。

下面是我的代码;

对象数组

var uptime = dt.Rows.Cast<DataRow>().Select(row => row["Up_tome_convert"]).ToArray();

我正在尝试将正常运行时间转换为uptime_double

double[] uptime_double = Array.ConvertAll<object, double>(uptime, x => (double)x);

1 个答案:

答案 0 :(得分:0)

您的对象应可转换为double,而无需Convert即可。看起来您正在处理不可直接转换为双精度的字段。您可以这样做(如果up_tome_convert是一个int):

var uptime = dt.AsEnumerable()
   .Select(dr => Convert.ToDouble(dr.Field<int>("Up_tome_convert")))
   .ToArray();