Null检查运算符 ?.
completedAct?.Invoke(pType);
它的展开写法其实是:
if(completedAct != null)
{
completedAct.Invoke(pType); //如果方法不为空,则执行方法,Invoke后面的括号里是参数
}
?.的意思是if(xxx!=null) Invoke(pyte)
ChangeGamePausedState?.Invoke(value);
若ChangeGamePausedState
不为null就Invoke(),为null就不执行。
C#中包含?的运算符使用汇总
? 可空类型修饰符
?: 三目运算符
?? 空合并运算符
??= ??=运算符
?. Null检查运算符
?[] ?[]运算符