繁体   English   中英

隐藏C#中的花括号

[英]Hide curly braces in C#

回到Python之后,我开始注意到并且越来越多地被我的C#编码风格所困扰,需要在任何地方使用括号

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

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

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

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

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

你可以切换到:

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

获得一些屏幕。

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

if (condition) {
    statement1
    statement2; }
else {
    statement3;
    statemen4; }

在我看来更加丑陋:(

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

如果你感觉真的很邪恶:

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

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

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

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

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

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

     for (int i = 0; i < 10; i++) if (i == 9) break; 

(即使该代码没有任何意义)

  1. 您可以更改Visual C#中的设置以格式化C#代码,如Skilldrick所说,以缩短代码:

转到工具 - >选项 - >文本编辑器 - > C# - >格式化(或类似的东西,我只有德国版的visual studio)。

希望有所帮助

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM