问号在C#代码中意味着什么?
我见过类似以下不相关的代码:
Console.Write(myObject?.ToString()); return isTrue ? "Valid" : "Lie"; return myObject ?? yourObject; int? universalAnswer = 42;
问号的所有用法是相关的还是不同的? 他们每个人的意思是什么?
问号在C#中具有不同的含义,具体取决于上下文。
Null条件运算符 ( MSDN , 成员访问中的问号在C#中意味着什么? )
Console.Write(myObject?.Items?[0].ToString());
条件运算符/三元运算符 ( MSDN , 使用条件?:(三元)运算符的好处 )
return isTrue ? "Valid" : "Lie";
Null Coalescing Operator ( MSDN , C#中两个问号共同意味着什么? )
return myObject ?? yourObject;
可空类型 ( MSDN , 类型 后问号的目的是什么(例如:int?myVariable)? )
int? universalAnswer = 42;