null許容型
C# 2.0: 実装
C# 8.0: null許容参照型
宣言と初期化
1 2 |
int? x = 123; int? y = null; |
値を持つかどうかはHasValueプロパティで判断できる
1 |
if (x.HasValue) Console.WriteLine(x.Value) |
??演算子 (null coalescing operator)
1 2 |
int? z = x ?? y; // x != null ? x : y int i = z ?? -1; // z != null ? z.Value : -1 |
??=演算子
1 2 3 4 5 |
static void M(string s = null) { s ??= "default string"; // if (s == null) s = "default string"; Console.WriteLine(s); } |
参考サイト
null許容値型(Nullable<T> 型) – C# によるプログラミング入門 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/csharp/sp2_nullable.html