什麼是下面的結構,正確的說法/名稱:這段代碼的結構名稱是什麼:condition? true_expression:false_expression
string myString = (boolValue==true ? "true": "false");
什麼是下面的結構,正確的說法/名稱:這段代碼的結構名稱是什麼:condition? true_expression:false_expression
string myString = (boolValue==true ? "true": "false");
這是一個三元條件表達式。
這就是所謂的三元條件運算符。不過,我不知道使用它的表達式是否有特定的名稱。
希望這會有所幫助!
根據所有標準,它們都有一個特定的名稱,並且操作員也有一個特定的名稱 - *條件操作符*。 – 2012-01-18 09:20:58
@DavidHeffernan:在旁註中:在C++和C社區中,三元運算符是一種常見拼寫,因爲只有一個三元運算符。 – 2012-01-18 09:58:27
@DavidHeffernan:哎呀,我不小心忽略了你的答案,對不起。我添加了另一個,因爲我可以想象一些程序員不知道一元,二元和三元(或n元)的關係。 – 2012-01-18 10:04:34
我認爲它被稱爲「三元操作符」。
這是一個條件表達式,但是當您使用「?」被稱爲「有條件的運營商」。
這不是一個聲明,而是一個表達! – 2012-01-18 09:05:01
@BasileStarynkevitch - 更新! – 5StringRyan 2012-01-18 09:06:48
@BasileStarynkevitch這是一個聲明,但其中包含一個表達式。 – 2012-01-18 09:35:50
它是一個條件表達式。
爲了提高可讀性,把複雜的條件括號:
string myString = (somecond)?"true":"false";
在你的情況,只是測試boolValue
與
string MyString = boolValue?"true":"false".
爲了便於閱讀,除非它非常簡單(而且很多),請將條件和兩個受控表達式分別放在不同的行上,就像「if」一樣。 – 2012-01-18 09:16:01
的C,C++,C#和Java標準都使用以下條款:
所以這些都是正式名稱。程序員通常更寬鬆地將其稱爲三元運算符,因爲它是具有3個操作數的唯一常用運算符。嚴格來說,它只是三元運算符a。
運算符?:
是「條件運算符」。
boolValue==true ? "true": "false"
因此是一個條件表達式。
myString = (boolValue==true ? "true": "false")
是一個也有賦值的條件表達式。
string myString = (boolValue==true ? "true": "false");
是在聲明和賦值中使用條件表達式的語句。
?:
通常被稱爲「三元操作符」。嚴格說來,這只是一個三元運營商,但因爲它是唯一一個在這些語言則指的三元運算符是有效的,雖然它的應用基於事實的標籤分離,以自己的內部定義。在這裏我們給運營商加入到像x § y ¶ z
語言歷時三者x
,y
和z
作爲操作數那麼它也將是一個三元運營商,而有條件的經營者仍然是一個三元運算符,它將不再是三元運算符。
我不確定這是C#社區中的常見說法,但在C和C++中,很多人通常將這個三元運算符稱爲。爲什麼?
-x
。x+x
。x?y:z
。「正確的」名稱是「條件運算符」,因爲結果取決於條件(最左邊的操作數)。
它被稱爲「三元」,據我所知,當我學習Java時(11/12年前),你做不到或者至少,老師根本沒有教這個 也許是這樣因爲有時代碼的可讀性較差...
當維基百科回來時,您可以參考http://en.wikipedia.org/wiki/%3F:這是專門用於此操作符的頁面。 – 2012-01-18 09:06:17