立入|ITブログ
「CS8600:NullリテラルまたはNullの可能性のある値をNull非許容型に変換しています」への対応

 C#8.0 以降から、型の書き方でNullを許容するかどうかを設定できるようになりました。これによって意図してNullを入れているのか、予想外のNullが入っているのかを判別してもらえるようになります。

String? str1 = null
String  str2 = null //CS8600エラーが出る

ただし値型の場合、Nullを許容するか、許容しないかで型が違うものとして扱われます。例えばintとint?は違う型として扱われます。そのため元々あったプログラムに対し、何も考えずにNullの許容・非許容を切り替えるとコンパイルエラーが起きる可能性が高くなります。

そのため下記を記載すれば、以降の行でCS8600を無視できます。

#nullable disable warnings

公式ドキュメントはこちらです。

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings?f1url=%3FappId%3Droslyn%26k%3Dk(CS8600)