Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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_If Statement - Fatal编程技术网

C#如果返回无效,则为单行

C#如果返回无效,则为单行,c#,.net,if-statement,C#,.net,If Statement,我希望使用带有?运算符的单行if语句调用void方法上的return 这是一份完整的声明: if (failPaths.Count == paths.Count) { return; } 我知道我可以做一些类似于if(failPaths.Count==path.Count)返回的事情但我只是想看看如何使用?操作符来实现它。在C中,没有办法实现您想要实现的目标 三元运算符要求true和false值计算为赋值表达式左侧的类型(或方法/属性返回值) 由于没有明确的方法返回/设置void,因此

我希望使用带有
运算符的单行if语句调用void方法上的return

这是一份完整的声明:

if (failPaths.Count == paths.Count) {
    return;
}
我知道我可以做一些类似于
if(failPaths.Count==path.Count)返回的事情
但我只是想看看如何使用
操作符来实现它。

在C中,没有办法实现您想要实现的目标

三元运算符要求
true
false
值计算为赋值表达式左侧的类型(或方法/属性返回值)

由于没有明确的方法返回/设置
void
,因此在C#中无法实现这一点。

这不能使用您提到的
操作符来完成

事实上,条件运算符只是计算条件并从两个表达式返回first或secod,所以可以将其视为表达式本身


但是在您的示例中,
如果
语句不是用于表达式求值,而是用于控制流,我想您是想说“?:”操作符

不幸的是,没有办法做到这一点,因为编译器需要“else”条件

(condition)?true:else

你不能。它们不一样。一是声明,;另一个是表达式。条件运算符不能替代
if
。它只是根据条件获取值的快捷方式,只有在提高可读性时才应使用。
if
-语句功能更强大,应用于流控制,如果条件运算符过于繁琐。