以下建筑物的正确术语/名称是什么:
string myString = (boolValue==true ? "true": "false");
这是一个三元条件表达式。
C、C++、C#和Java标准都使用以下术语:
这些都是官方名称。程序员通常更松散地将其称为三元运算符,因为它是唯一常用的具有3个操作数的运算符。严格来说,它只是一种三元运算符。
?:
运算符是 "条件运算符"。
boolValue==true ? "true": "false"
是一个条件表达式。
myString = (boolValue==true ? "true": "false")
是一个带有赋值的条件表达式。
string myString = (boolValue==true ? "true": "false");
是一个语句,它在声明和赋值中使用了一个条件表达式。
?:
通常被称为 "三目运算符"。严格来说,它只是 一种 三元运算符,但由于它是这些语言中唯一的三元运算符,所以将其称为 the 三元运算符是有效的,尽管它基于一个与其自身内部定义无关的事实而应用标签。如果我们向像 x § y ¶ z
这样的语言添加一个运算符,该运算符将 x
、y
和 z
作为操作数,则它也将是一个三元运算符,虽然条件运算符仍然是 一种 三元运算符,但它不再是 the 三元运算符。
我不确定这个术语在C#社区是否常用,但在C和C++中,许多人通常将其称为三元运算符。为什么?
-x
。x+x
。x?y:z
。“正确”的名称是“条件运算符”,因为结果取决于条件(最左边的操作数)。
我认为它被称为“三元运算符”。
这是一个条件表达式,但当你使用“?”时,它被称为“条件运算符”。
myString = (boolValue==true ? "true": "false")
是一个表达式,string myString = (boolValue==true ? "true": "false");
是一个语句。 - Jon Hanna这是一个条件表达式。
为了可读性,将复杂的条件放在括号中:
string myString = (somecond)?"true":"false";
boolValue
。string MyString = boolValue?"true":"false".
if
语句所做的那样。 - James Kanze这被称为“三元运算符”,据我所记,当我学习Java(11/12年前)时,你不能这样做,或者至少老师根本没有教这个。也许是因为有时代码不够易读...