日期:2014-05-18  浏览次数:20876 次

可空类型的赋值问题!
C# code


   info.P03_1400PassRate = row[9].ToString() == "" ? null : Convert.ToDouble(row[9].ToString());
            info.P03_1200Input = row[10].ToString() == "" ? null : Convert.ToDouble(row[10].ToString());
            info.P03_1200Rework = row[11].ToString() == "" ? null : Convert.ToDouble(row[11].ToString());
可空类型在三元后面强转为什么会报错?

无法确定条件表达式类型,因为<null>和double之间没有稳式转换!




------解决方案--------------------
应该是你的row[9]为空,你应该先判断一下
------解决方案--------------------

这样形式

info.P03_1400PassRate = row[9].ToString() == "" ? null : Convert.ToDouble(row[9].ToString());

改成

info.P03_1400PassRate = row[9] == null ? "": Convert.ToDouble(row[9].ToString());
------解决方案--------------------
C# code
 info.P03_1400PassRate = row[9].ToString() == "" ? null : Convert.ToDouble(row[9].ToString()).ToString();