EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
? null
: Convert.ToInt32(employeeNumberTextBox.Text),
私はよくこのようなことをしたいと思っています(これEmployeeNumber
はNullable<int>
、列がNULL値を許可するLINQ-to-SQL dbmlオブジェクトのプロパティであるためです)。残念ながら、コンパイラはそれを感じています
'null'と'int'の間に暗黙の変換はありません
どちらの型も、それ自体でnull許容整数への代入演算で有効ですが。
nullでない場合は文字列でインライン変換を行う必要があるため、null合体演算子を使用することは私が見る限りのオプションではありませ.Text
ん。
私の知る限り、これを行う唯一の方法は、ifステートメントを使用するか、2つのステップで割り当てることです。この特定のケースでは、オブジェクト初期化構文を使用したかったので、非常にイライラします。この割り当ては初期化ブロックに含まれます...
よりエレガントな解決策を知っている人はいますか?