首頁 > 後端開發 > C++ > 如何在 C# 中處理可空型別的條件運算子賦值?

如何在 C# 中處理可空型別的條件運算子賦值?

Mary-Kate Olsen
發布: 2025-01-16 16:18:13
原創
946 人瀏覽過

How to Handle Conditional Operator Assignment with Nullable Types in C#?

可空的條件運算子賦值類型

為了簡化程式碼,開發人員在使用條件運算子為可空型別的屬性賦值時常遇到挑戰。以下程式碼片段示範了這個問題:

EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
    ? null
    : Convert.ToInt32(employeeNumberTextBox.Text),
登入後複製

在這種情況下,EmployeeNumber 是Nullable,編譯器會引發錯誤:

'null 之間沒有隱式轉換' 和'int'

儘管null 和int都是可空整數的有效值,但編譯器無法確定表達式的類型僅基於真/假值。

要解決此問題,必須將其中一個值明確轉換為所需的可為空類型,從而允許編譯器確定表達式的類型:

EmployeeNumber =
    string.IsNullOrEmpty(employeeNumberTextBox.Text)
    ? (int?)null
    : Convert.ToInt32(employeeNumberTextBox.Text),
登入後複製

EmployeeNumber =
    string.IsNullOrEmpty(employeeNumberTextBox.Text)
    ? null
    : (int?)Convert.ToInt32(employeeNumberTextBox.Text),
登入後複製

這些修改確保正確推斷表達式的類型,允許條件運算子用作有意為之。

以上是如何在 C# 中處理可空型別的條件運算子賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板