在Python中,我可以做一些这样的事情,我认为这比一个语句中的两对条件更清晰:
if 1 < 2 < 3:
print 'triple testing?'
else:
print 'more like triple failing!'
Run Code Online (Sandbox Code Playgroud)
没有遇到任何问题,但是在C#中,它将第一次比较1 < 2转换为bool之前的转换,因此它会引发异常Operator '<' cannot be applied to operands of type 'bool' and 'int'.
有没有办法避免添加第二个条件,所以我不必将三重条件分成两组,而不是一个"三重"条件,就像我在Python中可以做到的那样?
if (1 < 2 & 2 < 3) { ... }
Run Code Online (Sandbox Code Playgroud)
编辑:我使用它的一个例子是确保inta在一系列数字之间.
if ((0 < x) && (x < 10) { ... } //I can already do this
vs
if (0 < x < 10) { ... } //Would rather have something like this
Run Code Online (Sandbox Code Playgroud)
对条件进行分组.试试这个,
if ((1 < 2) && (2 < 3))
{
// statements here
}
else
{
// statements here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |