您好我有一個像使用三元運算符不使用轉讓或退回
bool isCompleted = true;
if(isCompleted){x= 5}
,所以我想用上面的代碼中使用三元運算符的一個問題,而無需使用回報或分配如
isCompleted ? int x = 5 : <do nothing>;
因此,它是可以使用三元運算符而不使用返回或賦值?
謝謝。
您好我有一個像使用三元運算符不使用轉讓或退回
bool isCompleted = true;
if(isCompleted){x= 5}
,所以我想用上面的代碼中使用三元運算符的一個問題,而無需使用回報或分配如
isCompleted ? int x = 5 : <do nothing>;
因此,它是可以使用三元運算符而不使用返回或賦值?
謝謝。
Yoh Deadfall this code is sample code and作爲我的要求,我不想使用賦值(x),因爲我只是想要:true?
使用'if'運算符:'if(isCompleted)x = 5;' –
是的,這是最終的解決方案,但我想三元,所以我可以優化我的代碼,無論如何謝謝 –
嘗試使用這樣的:
x = isCompleted ? intValue(if true) : intValue(if false);
既然你已經宣佈x
爲int
,你必須提供值無論評估的條件如何,都可以使用int
。您使用的任何其他類型的值不會在這裏工作。因此你寫的false
是錯誤的。您可能想要在那裏提供int
值。
如果您希望根據bool條件執行某些代碼邏輯,則可能需要在此處使用if...else
,因爲這樣可以幫助您做的不僅僅是將一些值分配給變量。
希望這會有所幫助。
HarveySpecter this code是示例代碼 和我的要求,我不想使用作業(x)作爲 我只想︰ true?<做新邏輯>:
如果你想執行一些邏輯,而不是隻分配一些值到變量,你可能想使用'if'。這樣,當if條件爲真時,你可以執行任何你想要的邏輯,當它爲假時不做任何事情。總之,使用簡單的'if ... else'。 –
是的,這是最終的解決方案,但我想三元,以便我可以優化我的代碼,無論如何謝謝。 –
您需要布爾值之前的賦值。
x = isCompleted ? 5: 0;
其次,你有一個類型錯誤。以上將設置X = 5,如果isCompleted = TRUE,否則將設置X = 0
isComplete ? 5 :false
將無法編譯,因爲你不能一個布爾值賦給一個int。
Jon 由於我不想使用這個賦值運算符 –
可以理解。如果情況如下所示,那麼if語句會更強。三級運營商很好,但有時候不合適。 – Jon
如果爲true,您希望將x設置爲5。否則保持x值?
x = isCompleted? 5:x:
您必須在某個表達式中存儲或使用三元運算符的結果,否則我看不到使用三元運算符的要點。 – Adil
你想做什麼?三元操作員在這裏完成什麼?爲什麼,如果你堅持喜歡問號,不僅僅是:'x = isCompleted? 5:0;' – TZHX
這段代碼是示例代碼,並且按照我的要求,我不想使用賦值(x),因爲我只是想要這樣:true?: –