具有布尔变量C#的三元运算符

时间:2020-10-13 08:43:08

标签: c#

我对我的C#代码有疑问,我想对带布尔变量的三元运算符有所了解。

我的代码中有这个

bool EstDonneesFinancieresComplementaires = false;
if (groupeDeNotation.CodeAlgo == "BQ")
   {
       EstDonneesFinancieresComplementaires = true;
   }

但是我想通过使用三元运算符来简化这一行:

bool EstDonneesFinancieresComplementaires = groupeDeNotation.CodeAlgo == "BQ" ? true : false;

Visual Studio说“ ? true : false;”没用。并为此:

bool EstDonneesFinancieresComplementaires = groupeDeNotation.CodeAlgo == "BQ"

与我的第一行代码是否相同?默认情况下,仅当groupeDeNotation.CodeAlgo == "BQ"吗?

1 个答案:

答案 0 :(得分:2)

好吧,Visual Studio是正确的。

应用运算符==的返回类型为bool

groupeDeNotation.CodeAlgo == "BQ"本身是一个布尔表达式,将其用作三元运算符的条件是没有用的,因为您已经具有条件值。

此外,如果不是布尔条件,就不能将其用于三元运算符,不是吗?

为全面起见,请编写以下内容:

bool result = groupeDeNotation.CodeAlgo == "BQ"

与以下相同:

bool result = groupeDeNotation.CodeAlgo == "BQ" ? true : false

与:

相同
bool result;
if (groupeDeNotation.CodeAlgo == "BQ"){
  result = true;
}else{
  result = false;
}