' '字符做这个操作

本文关键字:操作 字符 | 更新日期: 2023-09-27 18:12:18

我刚刚阅读了一些朋友的代码,并为它编写了一个测试工具,我遇到了一些困扰我的东西:

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

'?符号在这个操作中做什么?

如果能给我一个大致的描述,我将不胜感激。我似乎在网上找不到答案,也找不到我的书。

' '字符做这个操作

这将是一个三元操作符。

x ? y : z应读作

if ( x )
    y;
else
    z;

称为条件运算符

这是一种简洁的编写条件的方式,您需要根据比较的结果赋值

实际意思是

result = (evaluate a condition) ? (expression to return if the condition is true) : 
                                  (expression to return if the condition is false)

这是条件运算符

通常也被称为"三元操作符",但这只意味着具有三个操作数的操作符。这并没有说明操作符的作用,但它是c#中唯一一个有三个操作数的操作符。

三元运算符

到?:操作符的microsoft链接

基本上是内联if语句

这是一个三元运算符。它用于替换包含if {} else {}的语句。

例如,我们不应该这样做:

bool value = false;
string myString;
if (value){
  myString = "something";
else{
  myString = "something else";
}

你可以这样做:

string myString = (value) ? "something" : "something else";

如果?之前的条件为真,则求:之前的表达式,否则求:之后的表达式。

也可用于返回:

return (myCondition) ? "yes" : "no";