我对我的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"
吗?
答案 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;
}