带有可空<value>类型的条件运算符赋值?

带有可空<value>类型的条件运算符赋值?

EmployeeNumber =string.IsNullOrEmpty(employeeNumberTextBox.Text)
    ? null
    : Convert.ToInt32(employeeNumberTextBox.Text),

我经常发现自己想做这样的事情(EmployeeNumberNullable<int>因为它是LINQto-SQLdbml对象上的一个属性,其中列允许空值)。不幸的是,编译器认为“‘NULL’和‘int’之间没有隐式转换”,尽管这两种类型在赋值操作中都是有效的,但它们本身是可空的int。

据我所见,NULL合并运算符不是一个选项,因为如果.text字符串不是null,则需要在.text字符串上进行内联转换。

据我所知,唯一的方法是使用if语句和/或分两个步骤分配它。在这个特殊的情况下,我发现这非常令人沮丧,因为我想使用对象初始化器语法,而这个赋值将在初始化块中.

有人知道更优雅的解决方案吗?


吃鸡游戏
浏览 378回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP