在我的代码中,是否有一个简写,我可以使用它来为一个对象的属性的值赋值变量,如果该对象不为null?
string username = SomeUserObject.Username; // fails if null
Run Code Online (Sandbox Code Playgroud)
我知道我可以像if(SomeUserObject!= null)那样进行检查,但我想我看到了这种测试的简写.
我试过了:
string username = SomeUserObject ?? "" : SomeUserObject.Username;
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
小智 7
在 c# 6.0 中你现在可以这样做
string username = SomeUserObject?.Username;
Run Code Online (Sandbox Code Playgroud)
如果 SomeUserObject 为 null,则 username 将设置为 null。如果你想让它得到值“”,你可以这样做
string username = SomeUserObject?.Username ?? "";
Run Code Online (Sandbox Code Playgroud)
第二个的语法有点不对。
string name = SomeUserObject != null ? SomeUserObject.Username : string.Empty;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |