当我尝试将对象数组转换为双精度数组时,抛出异常,说明强制转换无效。请帮忙。
下面是我的代码;
对象数组
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);
答案 0 :(得分:0)
您的对象应可转换为double,而无需Convert即可。看起来您正在处理不可直接转换为双精度的字段。您可以这样做(如果up_tome_convert是一个int):
var uptime = dt.AsEnumerable()
.Select(dr => Convert.ToDouble(dr.Field<int>("Up_tome_convert")))
.ToArray();