带有可空<value>类型的条件运算符赋值?EmployeeNumber =string.IsNullOrEmpty(employeeNumberTextBox.Text)
? null
: Convert.ToInt32(employeeNumberTextBox.Text),我经常发现自己想做这样的事情(EmployeeNumber是Nullable<int>因为它是LINQto-SQLdbml对象上的一个属性,其中列允许空值)。不幸的是,编译器认为“‘NULL’和‘int’之间没有隐式转换”,尽管这两种类型在赋值操作中都是有效的,但它们本身是可空的int。据我所见,NULL合并运算符不是一个选项,因为如果.text字符串不是null,则需要在.text字符串上进行内联转换。据我所知,唯一的方法是使用if语句和/或分两个步骤分配它。在这个特殊的情况下,我发现这非常令人沮丧,因为我想使用对象初始化器语法,而这个赋值将在初始化块中.有人知道更优雅的解决方案吗?
3 回答
- 3 回答
- 0 关注
- 377 浏览
添加回答
举报
0/150
提交
取消