C#,if语句的多个条件

时间:2017-11-16 16:27:37

标签: c#

我是一名matlab用户。如何在c#

中使用以下if语句
    double angle;
    //angle=45.00;// just for idea
        if (0.0<=angle<90.0)||(170.0<=angle<181.0)
        {
// do something
        }

//这只是我想做的演示代码.......

2 个答案:

答案 0 :(得分:2)

您使用的语法无法在C#中使用。最简单的解决方案是:

if (((angle >= 0) && (angle < 90)) || ((angle >= 170) && (angle < 181)))
{
    // your code here
}

在你的条件常量上使用文字,你可以实现相同的结果,而无需从Int32到Double的隐式转换(性能稍微好一些,但几乎不可察觉):

if (((angle >= 0.0d) && (angle < 90.0d)) || ((angle >= 170.0d) && (angle < 181.0d)))
{
    // your code here
}

另一种方法:

public static Boolean Between(this Double num, Double lower, Double upper, Boolean inclusive = false)
{
    return inclusive
        ? lower <= num && num <= upper
        : lower < num && num < upper;
}

然后:

if (angle.Between(0.0d, 90.0d) || angle.Between(170.0d, 181.0d))
{
    // your code here
}

答案 1 :(得分:1)

您无法在C#中结合比较:

if ((0 <= angle && angle < 90) || (170 <= angle && angle < 181)
{
    // do something
}