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>'.
したがって、nullもキャストする必要があります...これは動作します:
int? myint = (testvalue == true) ? 1234 : (int?)null;
int
をnull
に設定することはできません。代わりに、null許容のint(int?
)を使用します。
int? value = null;
intはnull、use-を許可しません
int? value = 0
または使用する
Nullable<int> value
public static int? Timesaday { get; set; } = null;
OR
public static Nullable<int> Timesaday { get; set; }
または
public static int? Timesaday = null;
または
public static int? Timesaday
あるいは単に
public static int? Timesaday { get; set; }
static void Main(string[] args)
{
Console.WriteLine(Timesaday == null);
//you also can check using
Console.WriteLine(Timesaday.HasValue);
Console.ReadKey();
}
Nullキーワードは、オブジェクトを参照しないnull参照を表すリテラルです。プログラミングでは、null許容型は、一部のプログラミング言語の型システムの機能であり、データ型の通常の可能な値の代わりに特別な値NULLに値を設定できます。
https://docs.Microsoft.com/en-us/dotnet/csharp/language-reference/keywords/nullhttps://en.wikipedia.org/wiki/Null
int ? index = null;
public int Index
{
get
{
if (index.HasValue) // Check for value
return index.Value; //Return value if index is not "null"
else return 777; // If value is "null" return 777 or any other value
}
set { index = value; }
}
整数変数をNULL可能として宣言します。例:int? variable=0; variable=null;