如何在两个值之间编写 if 语句?

Aar*_*ron 2 c# if-statement

这是我的代码,对于我的 if 语句,我希望将其放在两个值之间,例如:

if(rating < 5 > 2);
Run Code Online (Sandbox Code Playgroud)

所以我是说我希望它只在该值低于 5 但高于 2 时打印命令。有没有办法做到这一点?感谢您的时间。

这是我的代码。

 public static void Main(string[] args)
    {
        Console.WriteLine("What would you rate starcraft out of 10?");
        int rating = Console.Read();


        if (rating < 5) ;
        {
            Console.WriteLine("Not good enough!");
            Console.ReadLine();
        }

        if (rating > 5) ;
        {
            Console.WriteLine("OOOOOOOOO yeeeeeeee");
            Console.ReadLine();

        }
        if (rating > 8) ;
        {
            Console.WriteLine("We are bestfriends now ;)");
            Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

Gur*_*ron 12

使用条件逻辑 AND 运算符&&

if (rating < 5 && rating > 2)
{
}
Run Code Online (Sandbox Code Playgroud)

或者模式匹配阅读更多#1阅读更多#2):

if (rating is < 5 and > 2)
{    
}
Run Code Online (Sandbox Code Playgroud)

聚苯乙烯

switch您可以使用表达式进行一些重构,并排序检查以删除一些代码重复并提高可读性(请注意,rating == 5与以下代码相比,原始代码不涵盖大小写):

var rating = ...;
var message = rating switch
{
    < 2 => "Terrible",
    < 5 => "Not good enough!",
    < 8 => "OOOOOOOOO yeeeeeeee",
    _ => "We are bestfriends now ;)"
};

Console.WriteLine(message);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)