在Python,我可以做這樣的事情,我認爲這是更清晰,比2雙條件語句的一個聲明:在單個if語句中使用多個條件?
if 1 < 2 < 3:
print 'triple testing?'
else:
print 'more like triple failing!'
不運行任何問題,但在C#中,將第一比較, 1 < 2
轉成bool
後繼續前進,所以它拋出異常Operator '<' cannot be applied to operands of type 'bool' and 'int'
。
有沒有辦法避免添加第二個條件,所以我不必將三元條件拆分成兩組對,而不是像我在Python中可以做的那樣是一個「三元」條件?
if (1 < 2 & 2 < 3) { ... }
編輯:在這裏我想用這樣的一個例子是確保一個int
是一個數字範圍之間。
if ((0 < x) && (x < 10) { ... } //I can already do this
vs
if (0 < x < 10) { ... } //Would rather have something like this
您在第二個示例中的方法應該可以正常工作。如果不是,那麼你有其他問題(忽略了你使用硬編碼值的事實作爲說明的目的,你需要使用正確的布爾運算符)。 – slugster
@slugster是的,它的確如此,但我覺得它不像「1 <2 <3」那麼優雅。我正在尋找替代我結束的例子。我似乎還不夠清楚。 – TankorSmash