EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
? null
: Convert.ToInt32(employeeNumberTextBox.Text),
我经常发现自己想做这样的事情( EmployeeNumber
是一个Nullable<int>
因为它是LINQ-to-SQL dbml对象的属性,其中该列允许NULL值)。 不幸的是,编译器认为“在'null'和'int'之间没有隐式转换”,即使这两种类型在对可空int的赋值操作中都是有效的。
据我所知,空合并合并运算符不是一个选项,因为如果不为null,则需要在.Text字符串上进行内联转换。
据我所知,唯一的方法是使用if语句和/或分两步进行赋值。 在这种特殊情况下,我感到非常沮丧,因为我想使用对象初始值设定项语法,并且此分配将在初始化块中...
有人知道更优雅的解决方案吗?