Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:在条件语句中对一个变量进行两次比较的更好语法_C#_Conditional_Operators - Fatal编程技术网

C#:在条件语句中对一个变量进行两次比较的更好语法

C#:在条件语句中对一个变量进行两次比较的更好语法,c#,conditional,operators,C#,Conditional,Operators,在条件语句中是否有处理两个比较的简捷方法 例如: if(ReturnedCount > 0 && ReturnedCount < 50) { ... } if(ReturnedCount>0&&ReturnedCount

在条件语句中是否有处理两个比较的简捷方法

例如:

if(ReturnedCount > 0 && ReturnedCount < 50)
{
    ...
}
if(ReturnedCount>0&&ReturnedCount<50)
{
...
}
我相当确定变量必须始终位于运算符的左侧,因为当我尝试以下操作时,它不起作用:

if(0 < ReturnedCount < 50)
{
    ...
}
if(0
我在google上搜索了SQL中与between关键字相当的c#,但没有得到好结果

有没有更好的方法来处理同一变量的这种双重比较?

简单回答,C#没有任何语法帮助,每个条件测试只是添加到语句中

在某种程度上,当它开始变得难以读取时,您可以将其分解为一个返回true/false的方法调用

其中,Pred是一个(不存在的)静态类,包含要用作逻辑谓词的助手方法

或者

第二种方法是链接方法调用以表示连续的条件测试

其中,GreaterThan和LessThan是返回“this”值或“null”的扩展方法,如果“this”为非null,IsTrue将返回true

这是我自己遇到的唯一两种技巧,祝你好运

简短回答,C#没有任何语法帮助,每个条件测试只是添加到语句中

在某种程度上,当它开始变得难以读取时,您可以将其分解为一个返回true/false的方法调用

其中,Pred是一个(不存在的)静态类,包含要用作逻辑谓词的助手方法

或者

第二种方法是链接方法调用以表示连续的条件测试

其中,GreaterThan和LessThan是返回“this”值或“null”的扩展方法,如果“this”为非null,IsTrue将返回true


这是我自己遇到的唯一两种技巧,祝你好运

不太可能,您可以编写一个名为
bool IsBetween(value,min,max)
的函数,但您不能以简写的方式来完成它。您只能使用该运算符计算两边,因此在这个链接中无法显式地说
(variable>0&&variable<50)
,有些答案可能对你有帮助@ArpitGupta只要不使用第一个答案(Enumerable.Range()),因为这是一个可怕的错误answer@maccettura同意,以防万一,OP会发现一些有用的东西。实际上,你可以编写一个名为
boolisbetween(value,min,max)
,,但是你不能用你现在的方式来简化它。你只能用这个操作符来计算两边,所以没有办法明确地说
(variable>0&&variable<50)
在这个链接中,有些答案可能对你有帮助@ArpitGupta只要不使用第一个答案(Enumerable.Range()),因为这是一个可怕的错误answer@maccettura同意,以防万一,OP会发现一些有用的东西。谢谢你的回答。特别是第二种方法,我发现当条件的数量不值得构建辅助方法来处理它们时,它对于验证多个条件非常有用。同时,我发现阅读起来比把每一个条件都写出来更容易。谢谢你的回答。特别是第二种方法,我发现当条件的数量不值得构建辅助方法来处理它们时,它对于验证多个条件非常有用。同时,我发现阅读起来要比把每一个条件都说出来容易。
if (Pred.Equals( a, b, c, d ))
{ ... }
if (a.GreaterThan(b).LessThan(c).IsTrue())
{...}