什么是'?' 角色在这个操作中做什么?

Lee*_*ley -3 c# operators

我只是通过阅读一些朋友代码并为它编写测试工具,而且我遇到了一些困扰我的事情:

Console.WriteLine(inputString + (isPalindrome(inputString) ? displayConditions(" some text 1", 
ConsoleColor.Black) : displayConditions("some text 2", ConsoleColor.White)));
Run Code Online (Sandbox Code Playgroud)

什么是'?' 符号做这个操作?

将非常感谢对所调用内容的一般描述.我似乎无法在网上或我拥有的任何书籍中找到答案.

unx*_*nut 5

这将是三元运营商.

x ? y : z 应该读作

if ( x )
    y;
else
    z;
Run Code Online (Sandbox Code Playgroud)

  • 从技术上讲,****,而不是**,三元运算符.这个是*conditional*运算符,也称为*?:*运算符. (3认同)