int value=0;
if (value == 0)
{
value = null;
}
value
上記に設定するにはどうすればよいnull
ですか?
どんな助けでも大歓迎です。
.Net では、またはその他の構造体null
に値を割り当てることはできません。int
代わりにNullable<int>
、またはint?
略して次のように使用します。
int? value = 0;
if (value == 0)
{
value = null;
}
参考文献
また、条件付き代入の値として「null」を使用することはできません。例えば..
bool testvalue = false;
int? myint = (testvalue == true) ? 1234 : null;
次の場合に失敗します。Type of conditional expression cannot be determined because there is no implicit conversion between 'int' and '<null>'.
したがって、ヌルもキャストする必要があります...これは機能します:
int? myint = (testvalue == true) ? 1234 : (int?)null;
C# 9.0 の時点で、「 Target-Typed 」条件式を使用できます。C# 9 はコンパイル時に式を評価することで結果の型を事前に決定できるため、この例は機能します。
int は null を許可しません。
int? value = 0
または使用
Nullable<int> value
整数変数を nullable として宣言します。例:int? variable=0; variable=null;