2017-04-11 47 views
0

我想寫C# - 爲什麼我不能在字符串內使用三元操作?

$"This is { awesomeEnough ? "awesome" : "not awesome"}" 

,但我發現編譯器錯誤

CS1003語法錯誤, ':' 預計

是期待它的行爲或錯誤?

+0

的':所以你必須迫使它不認爲這是分隔符被放在括號內表達式'劃在插值字符串格式化表達式'$「這是{(awesomeEnough ?「真棒」:「不是真棒」)}「' – juharr

回答

3

操作員優先。括號中應該解決的問題

$"This is { (awesomeEnough ? "awesome" : "not awesome") }" 
+0

正好說出這個,很好的解決方案! – EpicKip

+2

原因不是運算符優先級 - 它只是將冒號解釋爲格式說明符的分隔符 –

相關問題