使用可空
問題:
使用條件運算子將值賦給可空
分析:
條件運算子僅根據真/假值決定表達式的類型,而不考慮賦值類型。在這種情況下,空值和 int 值會導致類型不明確。
解:
要解決此問題,請明確地將其中一個值轉換為可空
<code class="language-csharp">EmployeeNumber = string.IsNullOrEmpty(employeeNumberTextBox.Text) ? (int?)null : Convert.ToInt32(employeeNumberTextBox.Text);</code>
或者,可以將轉換應用於另一個值:
<code class="language-csharp">EmployeeNumber = string.IsNullOrEmpty(employeeNumberTextBox.Text) ? null : (int?)Convert.ToInt32(employeeNumberTextBox.Text);</code>
這兩種方法都明確地指定了條件運算子的回傳值類型為 int?
(可空整數),從而消除了編譯器錯誤。 選擇哪種方法取決於程式碼風格偏好,兩者效果相同。
以上是如何處理條件運算子賦值中的可空型別不符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!