Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用';?反转值';操作人员_C#_.net_Operators - Fatal编程技术网

C# 使用';?反转值';操作人员

C# 使用';?反转值';操作人员,c#,.net,operators,C#,.net,Operators,是否有与“??”运算符相反的运算符 int? value = 1; var reverseValue = value ?? 5; // here I want to return 5 when the value is not null 编辑: 是否可以创建像“!?”这样的自定义运算符不要写冗长的表达: var reverseValue = value != null ? 5 : (int?)null; 谢谢 var reverseValue=value!=无效的5:(int?)空对???没

是否有与“??”运算符相反的运算符

int? value = 1;
var reverseValue = value ?? 5; // here I want to return 5 when the value is not null
编辑: 是否可以创建像“!?”这样的自定义运算符不要写冗长的表达:

var reverseValue = value != null ? 5 : (int?)null;

谢谢

var reverseValue=value!=无效的5:(int?)空

对???没有否定,你必须坚持

var reverseValue = value != null ? 5 : value;

在这种情况下,条件运算符应该为其工作

var reverseValue = value != null ? 5 : value;


“?”前面的部分是条件。如果条件为真,则“:”左侧的部分将成为结果。如果条件为false,则“:”右侧的部分将成为结果。

我只是想知道是否存在运算符(对“?”的否定),而不是编写这个长表达式。没有。我猜C#团队(正确地)认为,对于无法解决常见用例的功能而言,该功能会让人感到困惑,并使语言更加臃肿。超级次要,但我更喜欢返回
(int?)null
默认值(int?)
而不是value,因为它使代码更清楚地显示返回的是null。我同意让代码清楚地显示返回的是null。但是,为了更清晰的外观,我甚至更进一步,去掉了“var”:
int?reverseValue=值!=无效的5:空。。。但我想这是每个人根据自己的品味来决定的:——)