EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
? null
: Convert.ToInt32(employeeNumberTextBox.Text),
Мне часто хочется сделать что-то подобное (EmployeeNumber
- это Nullable<int>
, так как это свойство объекта dbml LINQ-to-SQL, где столбец допускает значения NULL). К сожалению, компилятор считает, что «не существует неявного преобразования между« null »и« int »», даже если оба типа были бы допустимы в операции присваивания обнуляемому int самостоятельно.
Оператор объединения нулей, насколько я вижу, не является опцией из-за встроенного преобразования, которое должно происходить со строкой .Text, если оно не равно нулю.
Насколько я знаю, единственный способ сделать это - использовать оператор if и / или назначить его в два этапа. В этом конкретном случае я нахожу это очень расстраивающим, потому что я хотел использовать синтаксис инициализатора объекта, и это назначение было бы в блоке инициализации ...
Кто-нибудь знает более элегантное решение?