Shorthand JavaScript 在 C# 中等效
Shorthand JavaScript equivalent in C#
我有一个可为空的字节,我想根据它是否为空来递增或设置为 0,如下所示:
if (TheNullableByte == null)
{
TheNullableByte = 0;
}
else
{
TheNullableByte = TheNullableByte++;
}
在javascript中我会这样写:
TheNullableByte = (TheNullableByte) ? TheNullableByte++ : 0;
C# 中有类似的东西吗?
您可以查看 Nullable<T>.HasValue
属性:
TheNullableByte = TheNullableByte.HasValue ? TheNullableByte + 1 : 0;
这应该是可能的最短结构:
TheNullableByte = ++TheNullableByte ?? 0;
小解释:
假设TheNullableByte
是一个没有值的byte?
变量(它是null
)++TheNullableByte
不改变它的值(表达式结果是null
).最后你有 0
(如果它是 null
)或者值增加一。
我有一个可为空的字节,我想根据它是否为空来递增或设置为 0,如下所示:
if (TheNullableByte == null)
{
TheNullableByte = 0;
}
else
{
TheNullableByte = TheNullableByte++;
}
在javascript中我会这样写:
TheNullableByte = (TheNullableByte) ? TheNullableByte++ : 0;
C# 中有类似的东西吗?
您可以查看 Nullable<T>.HasValue
属性:
TheNullableByte = TheNullableByte.HasValue ? TheNullableByte + 1 : 0;
这应该是可能的最短结构:
TheNullableByte = ++TheNullableByte ?? 0;
小解释:
假设TheNullableByte
是一个没有值的byte?
变量(它是null
)++TheNullableByte
不改变它的值(表达式结果是null
).最后你有 0
(如果它是 null
)或者值增加一。