我刚刚安装了 ReSharper,它已经改变了
if(dto != null)
{
return new test{
obj1 = "",
obj2 = "",
}
}
Run Code Online (Sandbox Code Playgroud)
进入
return dto?.Select(item => new test
{
return new test{
obj1 = "",
obj2 = "",
}
Run Code Online (Sandbox Code Playgroud)
我以前没见过
dto?.Select
Run Code Online (Sandbox Code Playgroud)
试图在没有运气的情况下用谷歌搜索含义..有人可以解释一下,或者为我指出正确的方向
我收集它只是检查空值?
C# 6 中新引入了空传播运算符。 return dto?.Select... 表示,如果 dto 为空,则此语句将返回空,否则将执行剩余部分。再举一个例子,假设你有一个带有 Address 属性的 Employee 对象,它又包含 Lane(字符串)、Pincode 等。所以如果你需要获取地址通道值,你可以这样做:
var lane = employee?.Address?.Lane;
Run Code Online (Sandbox Code Playgroud)
如果员工或地址为空,则返回空值;否则返回车道值。
这可以通过多种方式组合,并且非常方便。例如,
int someIntegerValue = someObject?.SomeIntValue ?? 0;
Run Code Online (Sandbox Code Playgroud)
基本上,您可以使用此功能避免许多空检查。
| 归档时间: |
|
| 查看次数: |
4294 次 |
| 最近记录: |