隐藏C#中的花括号

时间:2011-01-30 23:38:35

标签: c# python coding-style

回到Python之后,我开始注意到并且越来越多地被我的C#编码风格所困扰,无处不在

 if (...)
 {
     return ...;
 }
 else
 {
     return ...;
 }

更喜欢(主观)更清洁的python反对部分

if ...:
    return ...
else
    return ...

有什么方法可以隐藏这些大括号(因为它们占据了我平均大约30%的编码屏幕而且看起来很难看!)

10 个答案:

答案 0 :(得分:9)

很抱歉,但是如果您使用C#进行编码并且只执行简单的单表达式块,那么您将不得不将其搞砸。 Python的“缩进表示范围”语法可能很好,但它是Python,而不是C#。

答案 1 :(得分:5)

您可以切换到:

 if (...) {
     return ...;
 } else {
     return ...;
 }

获得一些屏幕。

我认为假装C#的工作方式与Python类似,这是一个坏主意。

答案 2 :(得分:2)

if (condition) {
    statement1
    statement2; }
else {
    statement3;
    statemen4; }
在我看来,非常丑陋:(

答案 3 :(得分:1)

如果您需要.NET但需要Python语法,您可能需要查看Boo

答案 4 :(得分:0)

好吧,你可以省略C#中的大括号,只要ifelse“块”只是单个语句:

// perfectly legal
if (...)
    return ...
else
    return ...

如果你需要多行ifelse块,那么你就会被括号括起来。

答案 5 :(得分:0)

  1. 如果您只有一个声明,则不需要括号。例如,以下是有效的:

    for (int i = 0; i < 10; i++)
        if (i == 9)
            break;
    
  2. (即使该代码没有任何意义)

    1. 您可以更改Visual C#中的设置以格式化C#代码,如Skilldrick所说,以缩短代码:
    2. 转到工具 - &gt;选项 - &gt;文字编辑器 - &gt; C# - &gt;格式化(或类似的东西,我只有德国版的visual studio)。

      希望有所帮助

答案 6 :(得分:0)

C / C ++ / Java / C#人们与Cobol / BASIC / Python战队有着古老的种族歧视。这是一个真实的事物或者事物......没有最好的两个世界,有蛋糕和吃 - 他们太有趣了:))

答案 7 :(得分:0)

如果你感觉真的很邪恶:

if (iAmEvil)                                                                                                             {
    LookMa();
    NoBraces();
    OrSemiColonsForThatMatter()                                                                                         ;}
else {
    IfYouDontGetIt();
    ScrollRight();
}

当然,它可能比它的价值更麻烦。

答案 8 :(得分:-1)

对于单个语句,您不需要花括号。有时你需要它们,你可以放置括号,如:

if(expr) {
    ...
} else {
    ...
}

答案 9 :(得分:-1)

查看scribes,它是一个非常好的编辑器,可以在很大程度上自定义,我很确定你可以用它做你需要的。