??
、??=
在 C# 中,被稱為空值結合運算子 (null coalescing operator),C# 8.0 以後支援。
??
的用法
可以用 ??
(兩個問號) 快速設定 null 時要如何處理:
StringBuilder log = oldLog ?? new StringBuilder();
相當於
StringBuilder log = oldLog != null ? oldLog : new StringBuilder();
也可拆解為
StringBuilder log;
if(oldLog != null){
log = oldLog;
}
else{
log = new StringBuilder();
}
??=
的用法
可以用 ??= (二問號一等號) 指定空值時的預設值,例如:
a ??= 10;
相當於:
if (a == null) {
a = 10;
}