2016-09-16 111 views
0

C#中用于检查数字是否在数字范围内的标准方式是什么?多个比较运算符

通常情况下,我会做这样的一些变化与诠释i

return (i >= start && i <= end); 

有没有语法是这样的:

// does not work 
return (start <= i <= end); 
+5

您的第一个片段是标准方式。 – itsme86

+0

不,没有像你提出的语法。 – Amy

+1

我认为Ruby允许第二种方式,但第一种方式是c,C++,Java和c#中的习惯用法。 – Bathsheba

回答

0

最贴近你所期望的是

return start <= i && i <= end; 
0

C#中没有数学符号。运算符是返回结果的函数。通常,操作符只能是一元或二元的(即不能传递3个参数)。

一个窍门,你所能做的就是引入一个扩展方法:

public static class IntExtensions 
{ 
    public static bool WithinRange(this int value, int low, int high) 
     => value >= low && value <= high; 
} 

所以用法是:

return i.WithinRange(start, end); 

这是更冗长,但在同一时间比较模糊;它是否意味着包含下限?这是否意味着包含更高的边界?

建议是坚持任何软件开发人员都知道的语法。

+0

谢谢你的回答 - 虽然你的语法在你的例子中是关闭的。 –