int?の正体はNullable<int>という値型
構造体はnullにはならない
まるでnullのように見せかけているだけ
int?x=null;
x.ToString();
これは一見するとヌルポだがnullじゃないのでこれは通る
nullにならない値型なのでいちいちこの場所ではnullになりませんとは言わない
x.GetType();
はヌルポになる
なぜか?
GetTypeの呼び出しはobjectへのbox化のあとに行われる
nullのように見えているだけのxはbox化されて本物のnullになる
GetTypeを呼んでるところだけ本物のnullになってるのでIDEは正確に警告を出す
ふらっと C#,C♯,C#(初心者用) Part154
■ このスレッドは過去ログ倉庫に格納されています
596デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 03:01:32.74ID:9MG0SRykM■ このスレッドは過去ログ倉庫に格納されています
