在C#中,nullable類型允許變量具有一個值,也可能沒有值(即可以為null)。要對nullable類型進行運算,你需要使用相應的可空運算符。以下是一些常見的可空運算符:
??(空合并運算符):當nullable類型的值為null時,返回另一個值。否則,返回nullable類型的值。int? a = null;
int b = 5;
int? c = a ?? b; // c 的值為 5,因為 a 為 null
??=(空合并賦值運算符):當nullable類型的值為null時,將其設置為另一個值。否則,保持nullable類型的值不變。int? a = null;
a ??= b; // a 的值為 5,因為 a 為 null
!=(不等于運算符):比較兩個nullable類型的值是否不相等。如果任一值為null,或者它們的值不相等,則結果為true。int? a = 5;
int? b = 10;
bool result = a != b; // result 為 true,因為 a 和 b 的值不相等
==(等于運算符):比較兩個nullable類型的值是否相等。如果任一值為null,或者它們的值相等,則結果為true。int? a = 5;
int? b = 5;
bool result = a == b; // result 為 true,因為 a 和 b 的值相等
<(小于運算符):比較兩個nullable類型的值是否小于另一個值。如果任一值為null,或者它們滿足小于關系,則結果為true。int? a = 5;
int? b = 10;
bool result = a < b; // result 為 true,因為 a 的值小于 b 的值
<=(小于等于運算符):比較兩個nullable類型的值是否小于或等于另一個值。如果任一值為null,或者它們滿足小于等于關系,則結果為true。int? a = 5;
int? b = 10;
bool result = a <= b; // result 為 true,因為 a 的值小于等于 b 的值
>(大于運算符):比較兩個nullable類型的值是否大于另一個值。如果任一值為null,或者它們滿足大于關系,則結果為true。int? a = 5;
int? b = 10;
bool result = a > b; // result 為 false,因為 a 的值不大于 b 的值
>=(大于等于運算符):比較兩個nullable類型的值是否大于或等于另一個值。如果任一值為null,或者它們滿足大于等于關系,則結果為true。int? a = 5;
int? b = 10;
bool result = a >= b; // result 為 false,因為 a 的值不大于等于 b 的值
要對nullable類型進行其他運算,你需要先檢查它們是否為null,然后根據需要執行相應的操作。