有人可以评论我遇到的问题。三元运算符会抛出一个错误,这里的论点是,如果它的计算结果为 null,那么它应该忽略冒号后面的部分。为此设置的 Watch 指示异常:
Int32.Parse(SQLDataReader["TrayId"].ToString())' threw an exception of Type 'System.FormatException
暗示它不能将 null 转换为字符串。这是它的工作原理吗?
ShipmentId = SQLDataReader["ShipmentId"] == DBNull.Value ? 0 : Int32.Parse(SQLDataReader["ShipmentId"].ToString()),