繁体   English   中英

等效于C#的速写JavaScript

[英]Shorthand JavaScript equivalent in C#

我有一个可为空的字节,我想根据其是否为空来增加或设置为0,如下所示:

if (TheNullableByte == null)
{
   TheNullableByte = 0;
}
else
{
   TheNullableByte = TheNullableByte++;
}

在javascript中,我会这样写:

TheNullableByte = (TheNullableByte) ? TheNullableByte++ : 0;

C#中是否有类似的东西?

这应该是最短的构造:

TheNullableByte = ++TheNullableByte ?? 0;

使用null-coalescing运算符

小说明:

假设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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM