繁体   English   中英

C#多序列 条件运算符

[英]C# multiple sequence ? conditional operator

我考试了,看到一个类似的问题。

var b = (1==2) ? (1==1) ? (2==1) ? "A" : "B" : "C" : "D";

b是什么,它在这样的条件下如何工作?

谢谢。

三元运算符的行为如下:
该声明

variable = condition ? value1 : value2

相当于

if (condition) 
{
  variable = value1;
} 
else 
{
  variable = value2;
}

所以就你而言

var b = (1==2) ? (1==1) ? (2==1) ? "A" : "B" : "C" : "D";

只是几个嵌套的三元运算符,与

    var b; 
    if (1==2)
    {
      if (1==1) 
      {
        if (2==1) 
        {
          b = "A";
        }
        else 
        {
         b = "B";
        }
      }
      else 
      {
        b = "C";
      }
    }
    else
    {
      b = "D";
    }

暂无
暂无

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

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