Python では、次のようなことができます。これは、1 つのステートメントで 2 組の条件を使用するよりも、より明確だと思います。
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 でできるように、1 つの「トリプル」条件ではなく、トリプル条件を 2 セットのペアに分割する必要がないように、2 番目の条件を追加しないようにする方法はありますか?
if (1 < 2 & 2 < 3) { ... }
編集:これを使用する例は、 anint
が数値の範囲内にあることを確認することです。
if ((0 < x) && (x < 10) { ... } //I can already do this
vs
if (0 < x < 10) { ... } //Would rather have something like this