2017-04-21 28 views
0

我無法弄清楚我爲我的生活做錯了什麼。我一直在使用?:在我的項目的整個生命週期中,但突然之間,我一直被告知「只能使用賦值,調用,遞增,遞減和新的對象表達式」,但如果我複製並粘貼完全相同的東西另一個文件..我沒有得到這樣的錯誤。C#條件操作符 - 這是怎麼回事?

是真的嗎? 「1」:「1」;應該是最基本的說法,是正確的?我的意思是它已經在其他地方做過,所以我可能不理解?

Conditional Statement

+6

因爲那表情是毫無意義的編譯器產生一個錯誤,你沒有做與任何有價值的東西它有什麼作用?將其更改爲var pointlessNumber = true? 「1」:「1」 –

+11

這是一個表達式,而不是一個聲明。 – vcsjones

+1

您需要將值分配給某些變量 –

回答

4

當你說你正在使用條件運算別處&它做工精細也許你在比你有共同的屏幕捕捉不同的方式使用它。我這樣說是因爲C#不會允許你做,在你所提到的方式:即

true ? "1" : "1"; 

把它看成是這樣的:有條件的經營者在本質上是一個if-else語句。

if (true) 
    "1"; //does not make sense, it appears to be string but the compiler needs to know what this is exactly 
else 
    "1"; //same comment as above 

總之,你需要的是字符串「1」分配給一個變量&那麼事情會正常工作。

string str = true ? "1" : "1"; 
+0

太棒了。這有助於理解我不瞭解的內容。非常感謝,謝謝。 –

+0

我最初的做法是說'serverColumn.Contains(「primary」)? product.PrimaryProductServer =服務器:product.SecondaryProductServer = server'我不知道怎麼去在這裏計算器新行......至於條件,我想我不能這樣做,我想的方式。 –

+1

有趣。但在這種情況下,你不得不採用簡單的if-else – Ankit