C# 在C中隐藏花括号#

C# 在C中隐藏花括号#,c#,python,coding-style,C#,Python,Coding Style,回到Python后,我开始注意到我的C#编码风格要求到处都使用大括号,这让我越来越恼火 if (...) { return ...; } else { return ...; } 更喜欢(主观的)更干净的python计数器部分 if ...: return ... else return ... 有没有办法隐藏这些大括号(因为它们平均占据了我编码屏幕的30%左右,而且看起来很难看!)您可以切换到: if (...) { return

回到Python后,我开始注意到我的C#编码风格要求到处都使用大括号,这让我越来越恼火

 if (...)
 {
     return ...;
 }
 else
 {
     return ...;
 }
更喜欢(主观的)更干净的python计数器部分

if ...:
    return ...
else
    return ...
有没有办法隐藏这些大括号(因为它们平均占据了我编码屏幕的30%左右,而且看起来很难看!)

您可以切换到:

 if (...) {
     return ...;
 } else {
     return ...;
 }
获得一些屏幕


我认为假装C#像Python一样工作是个坏主意。

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

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

如果需要多行
If
else
块,则需要大括号。

对于单个语句,不需要大括号。在需要时,您可以放置支架,如:

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

在我看来,更难看的是:(

对不起,但是如果你用C语言编写代码,而不仅仅是简单的单表达式块,你就必须接受它。Python的“缩进表示范围”语法可能不错,但它是Python,而不是C

  • 如果只有一条语句,则不需要括号。例如,以下语句有效:

    for (int i = 0; i < 10; i++)
        if (i == 9)
            break;
    
    for(int i=0;i<10;i++)
    如果(i==9)
    打破
    
  • (即使该代码没有任何意义)

  • 如Skilldrick所说,您可以更改Visual C中用于格式化C代码的设置,以缩短代码:
  • 转到工具->选项->文本编辑器->格式(或者类似的东西,我只有德语版的visual studio)


    希望这能对你有所帮助,这是一个非常好的编辑器,可以在很大程度上进行定制,我确信你可以用它做你需要的事情。

    如果您需要.NET,但像Python语法一样,您可能需要检查

    如果你感觉很邪恶:

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

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

    你用什么程序来编辑你的代码?省略它们就行了。对于单个语句,您不需要在C#中使用它们。我认为这是使用C#的一个不幸后果。您可以尝试使用同一行的花括号,看起来更好,但这不是C#::的社区标准(一种可能是将编辑器设置为{}提供非常明亮的颜色(如果使用深色背景,则为深色)只是要小心——唉,屏幕空间只是问题的一半,如果我能把它们全部隐藏起来的话,它看起来会更好。实际上,为了提高可读性,我把{放在一行。@Joe我不认为“它看起来会更好”有足够的理由这么做。如果你打算大量使用C#,你会更好地习惯语法。哦,相信我,我已经习惯了语法,但我只是在周末用python做我的宠物项目时,或多或少有一个惊喜的时刻,当我今天早上上班时,我忍不住注意到所有的括号我已经写了很多年了…我想如果我可以隐藏它不是很酷吗…那太可怕了…呵呵,如果在Visual Studio中可以为支架选择与编辑器背景颜色相同的前景颜色,这可能是个好主意。scribes甚至不适用于windows,它将如何处理我需要的内容?+1 i我读过一本书,虽然boo可能无法满足我隐藏花括号的简单需求,但它最终可能满足我在.net中像python一样写作的愿望……但IronPython不是这样做的吗?。谷歌搜索……显然有一些不同。我想知道这是怎么可能的,将粘贴复制到linqpad并看到“隐藏”文本。不是如果这是一个合适的答案,那么就试图投反对票(从噪音的角度来看)。这听起来比预期的更严厉,这很有趣:)没有投反对票……但仍然不确定这是否应该是一个答案……奥威尔说,投反对票是对的“一篇极其草率、毫不费劲的帖子,或者一个明显而且可能是危险的错误答案。”我的“解决方案”确实完成了任务(隐藏大括号和分号),当然,我也花了一点力气写出了所有的空格。按照这些标准,我很肯定我已经给出了一个完全正确的答案。如果你想投反对票,那就继续吧——幽默是值得的:)
    if (iAmEvil)                                                                                                             {
        LookMa();
        NoBraces();
        OrSemiColonsForThatMatter()                                                                                         ;}
    else {
        IfYouDontGetIt();
        ScrollRight();
    }