当前位置: 首页 > 编程语言 > C#

if语句的不同写法分享

时间:2023-04-11 00:21:07 C#

if语句的不同写法看过if语句的不同写法。你喜欢哪个?为什么?示例1:if(val%2==1){output="Numberisodd";}else{output="Numberiseven";}示例2:if(val%2==1){output="Number是奇数”;}else{output=“Numberiseven”;}例子3:if(val%2==1)output=“Numberisodd”;elseoutput=“Numberiseven”;例子4:if(val%2==1){output="Numberisodd";}else{output="Numberiseven";}类似的问题:Whyisitconsideredbadpracticetoomittingcurlybraces?Forcaseslikethistherearealsoconditionaloperators:output=(val%2==1)?"Numberisodd":"Numberiseven";如果你肯定会使用"if"我会使用version2或version4,这取决于你的括号样式的其余部分.(在工作中我使用4;对于我使用2的个人项目。)主要的是即使在单个语句周围也要有括号。顺便说一句,为了测试奇偶校验,使用它稍微快一些:if((val&1)==1)version2.我总是包含括号,因为如果你需要在条件中放置多行,你就不用担心以后再放括号了。这样,它确保所有if语句都具有相同的结构,这有助于扫描特定if语句的代码。我使用的是第2版。如果您无话可说,使用花括号的一个原因就会变得更清楚。如果(SomeCondition){DoSomething();如果您需要添加另一行代码,这不太可能成为问题:if(SomeCondition){DoSomething();DoSomethingElse();}如果没有花括号,你可以这样做:if(SomeCondition)DoSomething();DoSomethingElse();我个人更喜欢3。额外的花括号只会增加太多不必要的视觉噪音和空白。我可以在某种程度上看到2/4减少错误的原因,但就我个人而言,我从来没有因为在if语句中考虑额外的行而犯错。我使用C#和visualstudio,所以我的代码总是格式正确。如果我是一个记事本风格的程序员,这可能是个问题。以上都不是。如果我的执行块只有一行(即使它是一个巨大的语句)那么我不使用大括号但我缩进它,类似于#3if(num>3)print"numisgreaterthan3";else打印“num不大于3”;不需要大括号的多个语句的示例:if(num>3)for(inti=0;i也就是说,JonSkeet对这个问题的回答是我最喜欢的#2。易读性。我同意三元组运算符。它在我遇到的代码中很少使用,我认为它比写出if/else语句所需的所有额外括号和缩进要容易和更好。保持一致比选择最佳更重要.这些风格各有优缺点,但都没有在一个项目甚至一个编译单元或一个函数中混用那么糟糕。三元运算符是这种特定代码的明显选择。对于简单单体的不可表达性语句if/else,我更喜欢带有适当缩进的情况3:if(val%2==1)output=“Numberisodd”;elseoutput=“Numberiseven”;我理解“总是使用花括号”背后的动机,但我个人从来没有被他们的遗漏所困扰(好的,一次。用宏。)从上面的样式中,我选择(2)。(4)如果缩进“正确”,则可以。(1)我欠一个希望从“紧凑的代码”中成长起来的年轻开发人员,或者买不起像样的显示器的人。但是,如果它是本地风格,我会选择它。我正在使用版本2。奇怪的是没有人提到这个:if(x==1){...}else{...}对我来说,这是唯一正确的方法,当然:-)就我个人而言,我发现两个方法是很好的做法:对于if块,只有这样:if(...){//...}elseif(...){//...}else{//...这是编写if-else-blocks的最安全和最容易理解的方法。对于单行(真的是单行可以理解的一行),可以使用三元运算符。varobjectInstance=条件?富:酒吧;//还是处理空值时的二元运算符varobjectInstance=condition??富;您不应调用对当前分配没有帮助的方法。除了上述方法,我不会使用任何其他方法。我自己比较喜欢4,但是我觉得2也绝对不错。我将按以下顺序使用它们:1)三元运算符2)情况3,但缩进适当3)2或4,它们基本相同。我会选择我作品的一般风格。我同意杰克关于省略不必要的花括号的观点。我从来没有因为添加新代码而导致或看到错误,有些人认为它们是if语句的一部分,但它们不是由于缺少花括号。如果有人这样做,我会毫不留情地嘲笑他们。你必须折磨我才能使用数字1。我总是使用#2。#4是一个非常糟糕的布局,只有那些认为该方法必须是一个屏幕大小并且愿意做任何事情来填充它的人才能完成,除了重构代码!我个人更喜欢版本2。但是因为它刚刚形成,所以并不重要。使用最适合您和您的团队成员的方法!我使用#2稍作改动if(condition1){doStuff();}else{doSomethingElse();}Version#2forme-easiesttosee,easilytoread,easilyseeifstartandthepositionoftheend,otherwisesame,如果你想添加多个语句,你不必担心把在括号内。单个简短语句:if(condition)output=firstChoice;否则做一些事情();多语句或长语句if(condition){output=firstChoice;...}else{...}推荐使用大括号,我见过不带大括号的ifelse语句存在一些问题,(我记不太清了)即下面的语句如果没有执行,当我添加相同的大括号时大括号然后才有效。(使用VisualStudio和C#4.0)。毫无疑问,示例2是最不容易出错的方法。出于以下原因,请参阅我对类似问题的回答:Whatisthepreferredstyleforsingledecisionandactionstatements?虽然VisualStudio的默认大括号用法是将大括号放在换行符上(我的首选方法),但KrzysztofCwalina和BradAbrams撰写的框架设计指南一书(第一版)提出了不同的约定,例如4,将左花括号放在前面的if语句的末尾(第284页)。他们还说“避免省略括号,即使语言允许”。没有第二版,我不能说这些约定是否已经改变。以上就是C#学习教程:if语句不同写法分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请指正点击右侧联系管理员删除。如需转载请注明出处: