c#是否有简写“if(condition);”声明?

时间:2016-03-10 10:47:07

标签: c# if-statement shorthand-if

简单和简短:C#是否有类似于Ruby的简写if语句?

return if (condition)

1 个答案:

答案 0 :(得分:5)

不,它没有。标准方式的长度完全相同,因此不可能有这样的速记。考虑通常的语法:

if (condition) return;

VS。一个假设:

return if (condition);

引入这种“反向”语法的一个可能原因是首先表达主要意图。由于从左到右阅读,因此更容易理解,从而导致更易读的代码。

从语言设计的角度来看,使用when之类的其他关键字是有意义的,以防止混淆错误。请考虑以下两个代码行:

return            // missing ; here
if (condition);   // no warning (except empty 'then' part)

应该写成:

return;           // ; here present
if (condition);   // unreachable code warning here

从字符保存的角度来看,它在begin … end语言中是有意义的。像这样的结构:

if condition begin
    return;
    end if;

会显着缩短,如果写成:

,可能会更具可读性
return when condition;