Cre*_*gic 0 .net c# asp.net-3.5 unity-game-engine
我正在尝试将我的ActionScript知识应用于C#,我一直想知道是否可以制作这种返回语句:
return myObject ||= new Object();
Run Code Online (Sandbox Code Playgroud)
当然我可以使用更长的版本,如:
if (!myObject)
myObject = new Object();
return myObject;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我只是希望能够混淆我的代码并使其更短.
我想,因为它是所有ECMAScript,它应该工作,但事实并非如此.任何人都可以指出是否可以使用逻辑运算符来模仿if-else而不是通常的if-then-else语句?
.NET版本是3.5(Unity3d引擎)
是的,C#中有一个coalesce运算符几乎可以做到这一点.
return myObject ?? new Object();
Run Code Online (Sandbox Code Playgroud)
编辑:这不会改变变量myObject.如果你想这样做,你可以简单地写
return myObject = myObject ?? new Object();
Run Code Online (Sandbox Code Playgroud)
因为C#中的赋值也是一个返回已分配值的表达式.
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |