What does a question mark mean in C# code?
本问题已经有最佳答案,请猛点这里访问。
我见过类似以下无关行的代码:
1 2 3 4 | Console.Write(myObject?.ToString()); return isTrue ?"Valid" :"Lie"; return myObject ?? yourObject; int? universalAnswer = 42; |
问号的所有用法是相关的还是不同的?他们每个人的意思是什么?
根据上下文,问号在C中有不同的含义。
空条件运算符(msdn,成员访问中的问号在C中是什么意思?)
1 | Console.Write(myObject?.Items?[0].ToString()); |
条件运算符/三元运算符(msdn,使用条件运算符的好处?:(三元)运算符)
1 | return isTrue ?"Valid" :"Lie"; |
空合并运算符(msdn,两个问号在c中的含义是什么)
1 | return myObject ?? yourObject; |
可以为空的类型(msdn,类型(例如:int)后问号的用途是什么?MyValor)?
1 | int? universalAnswer = 42; |