猿问

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

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


例如:


if(ReturnedCount > 0 && ReturnedCount < 50)

{

    ...

}

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


if(0 < ReturnedCount < 50)

{

    ...

}

我在 google 上搜索了 SQL 中与 between 关键字等效的 c#,但没有得到好的结果。


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


温温酱
浏览 185回答 1
1回答

红糖糍粑

简短的回答,C# 没有任何语法糖来帮助,每个条件测试只是被添加到语句中。在某些时候,当它开始变得难以阅读时,您可以将其分解为返回 true/false 的方法调用。IE。if&nbsp;(Pred.Equals(&nbsp;a,&nbsp;b,&nbsp;c,&nbsp;d&nbsp;)) {&nbsp;...&nbsp;}其中,Pred 是一个(不存在的)静态类,包含用作逻辑谓词的辅助方法。交替...第二种方法是链接方法调用以表示连续的条件测试。IE。if&nbsp;(a.GreaterThan(b).LessThan(c).IsTrue()) {...}其中,GreaterThan 和LessThan 是返回“this”值或“null”的扩展方法,如果“this”不为null,则IsTrue 返回true。这是我自己遇到的仅有的两种技术,祝你好运!
随时随地看视频慕课网APP
我要回答