我有一个可以为空的字节,我想增加或设置为0取决于它是否为null,如下所示:
if (TheNullableByte == null)
{
TheNullableByte = 0;
}
else
{
TheNullableByte = TheNullableByte++;
}
Run Code Online (Sandbox Code Playgroud)
在javascript中我会这样写:
TheNullableByte = (TheNullableByte) ? TheNullableByte++ : 0;
Run Code Online (Sandbox Code Playgroud)
C#中有类似的东西吗?
这应该是最短的构造:
TheNullableByte = ++TheNullableByte ?? 0;
Run Code Online (Sandbox Code Playgroud)
小解释:
假设TheNullableByte是一个byte?没有值的变量(它是null)++TheNullableByte不改变它的值(表达式结果是null).最后你有0(如果是null)或者值增加1.