C# 布尔语法(常用和常用)

C# 布尔语法(常用和常用),c#,syntax,boolean,C#,Syntax,Boolean,我想知道你们喜欢使用哪种布尔语法方法,我在学习编程的时候有一些布尔语法,直到现在 以下是一些案例: 声明变量 protected bool someBoolean = false; 案例1: if (someBoolean == true) { // Do something, it is being triggered } else if (someBoolean == false) { // The Boolean is not being triggered } if

我想知道你们喜欢使用哪种布尔语法方法,我在学习编程的时候有一些布尔语法,直到现在

以下是一些案例:

声明变量

protected bool someBoolean = false;
案例1:

if (someBoolean  == true)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean == true)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
案例2:

if (someBoolean  == true)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean == true)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
案例3:

if (someBoolean  == true)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean == true)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
案例4:

if (someBoolean  == true)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean == true)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
案例5:

if (someBoolean  == true)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (someBoolean == false)
{
   // The Boolean is not being triggered
}
if (someBoolean == true)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else
{
  // The Boolean is not being triggered
}
if (someBoolean)
{
   // Do something, it is being triggered
}

else if (!someBoolean) // Same with someBoolean == false
{
  // The Boolean is not being triggered
}
在处理布尔运算时,你们更喜欢上面哪一种(或多种)情况,并且主要用于编程方法?请提供并给出一些(或更多)原因,说明您为什么选择该选项而不是其他选项?:)


对我来说,我更有信心使用案例5,因为它使我的代码看起来很漂亮(就我的想法而言)

如果{}其他{},我宁愿避免

condition ? first_expression : second_expression;  
就你而言

someboolean ? expression 1 : expression2;     

否则将与案例4一起使用。其中,如果someboolean为false,则代码将命中else,无需在此检查它是否为false。在这种情况下,您需要减少一些额外的代码来检查值,如果someboolen不为true,则根本不需要检查值,这意味着它为false

我总是喜欢案例4,因为它对我来说是最干净的。我非常怀疑这些之间有一个不平凡的性能差异,所以我只想看任何看起来更好的。我是C++程序员,所以可能的约定是不同的,但是我更喜欢案例4。格式更短、更简单(无需重写变量名称或第二个条件测试),这在我看来更优雅。如果我使用复杂的表达式,也不太可能意外地使
if
else
条件相同。@ryrich:它们都编译成相同的代码。它们之间没有性能差异。谢谢你们的回答!我真的很感激。你不能只写
一些布尔?DoSomething():DoSomethingElse()
[conditional operator]()要求两个表达式的计算结果为同一类型。此外,您必须将结果分配给某个对象。例如,请参阅答案,以感谢您的回答!我真的很感激。是的,先生,谢谢你纠正我。三元运算符带有一些约束,比如您需要指定结果,两个表达式计算相同的类型,但我想提到的是,三元运算符非常方便,可以避免使用if-else。这就是为什么我提到了案例4。