[英]Shorthand JavaScript equivalent in C#
我有一个可为空的字节,我想根据其是否为空来增加或设置为0,如下所示:
if (TheNullableByte == null)
{
TheNullableByte = 0;
}
else
{
TheNullableByte = TheNullableByte++;
}
在javascript中,我会这样写:
TheNullableByte = (TheNullableByte) ? TheNullableByte++ : 0;
C#中是否有类似的东西?
这应该是最短的构造:
TheNullableByte = ++TheNullableByte ?? 0;
小说明:
假设TheNullableByte
是一个byte?
没有值的变量(它为null
) ++TheNullableByte
不会更改其值(表达式结果为null
)。 最后,您可以输入0
(如果为null
)或将值增加1。
您可以检查Nullable<T>.HasValue
属性:
TheNullableByte = TheNullableByte.HasValue ? TheNullableByte + 1 : 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.