问号在C#代码中意味着什么?

Ale*_*kov 2 c# operators

我见过类似以下不相关的代码:

 Console.Write(myObject?.ToString());
 return isTrue ? "Valid" : "Lie";
 return myObject ?? yourObject;
 int? universalAnswer = 42;
Run Code Online (Sandbox Code Playgroud)

问号的所有用法是相关的还是不同的?他们每个人的意思是什么?

Ale*_*kov 14

问号在C#中具有不同的含义,具体取决于上下文.

Null条件运算符(MSDN,成员访问中的问号在C#中是什么意思?)

Console.Write(myObject?.Items?[0].ToString());
Run Code Online (Sandbox Code Playgroud)

条件运算符/三元运算符(MSDN,使用条件?:(三元)运算符的好处)

return isTrue ? "Valid" : "Lie";
Run Code Online (Sandbox Code Playgroud)

Null Coalescing Operator(MSDN,C#中两个问号共同意味着什么?)

return myObject ?? yourObject;
Run Code Online (Sandbox Code Playgroud)

可空类型(MSDN,类型后问号的目的是什么(例如:int?myVariable)?)

int? universalAnswer = 42;
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

6988 次

最近记录:

8 年,1 月 前