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

时间:2018-05-10 18:47:04

标签: c# conditional operators

是否有一个简短的方法来处理条件语句中的两个比较?

例如:

if(ReturnedCount > 0 && ReturnedCount < 50)
{
    ...
}

我很确定变量必须始终位于运算符的左侧,因为当我尝试以下操作时它不起作用:

if(0 < ReturnedCount < 50)
{
    ...
}

我在google上搜索了SQL中与之间关键字的c#,并且没有取得好成绩。

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

1 个答案:

答案 0 :(得分:2)

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

在某些时候,当它开始难以阅读时,您可以将其分解为返回true / false的方法调用。

if (Pred.Equals( a, b, c, d ))
{ ... }

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

可替换地...

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

if (a.GreaterThan(b).LessThan(c).IsTrue())
{...}

其中,GreaterThan和LessThan是延伸方法,返回&#39; this&#39;值或&#39; null&#39;和IsTrue如果&#39;这个&#39;则返回true。是非空的。

这是我自己遇到的唯一两种技术,Goodluck!