带有 if 语句的 C# Switch Case 不返回 console.WriteLines

C# Switch Case with if statements not returning me the console.WriteLines

我正在尝试使用 If 语句代码创建一个简单的 switch case。

问题:

我没有得到任何回报。

例如:

如果我输入 int Temperature = 0;代码应输出“Es ist kalt”。但是我的控制台没有任何显示。

using System;

namespace SwitchCase
{
    class Program
    {
        static void Main(string[] args)
        {
            int Temperatur = 25;

            switch (Temperatur)
     
            {
                    case 1:
                    if (Temperatur <= 0)
                    {
                        Console.WriteLine("Es ist kalt");
                    }
                    break;
                    case 2:
                    if (Temperatur >= 25)
                    {
                        Console.WriteLine("Es ist überdurchschnittlich warm");
                    }
                    break;
                    case 3:
                    if (Temperatur <= 13)
                    {
                        Console.WriteLine("Es ist mild");
                    }
                    break;
                    
                


            };

        }
    }
}

你的代码没有多大意义。当 Temperatur 恰好是 12 时,它不能小于或等于 0 也不能大于或等于 25。因此,Temperatur 不可能有一个值可以选择 switch 的前两个分支中的任何一个,并且另外满足该分支中的 if

只需使用 ifelse if 即可完成您可能想要的操作:

...
if (Temperatur <= 0)
{
    Console.WriteLine("Es ist kalt");
}
else if (Temperatur <= 13)
{
    Console.WriteLine("Es ist mild");
}
else if (Temperatur >= 25)
{
    Console.WriteLine("Es ist überdurchschnittlich warm");
}
...

您的 if 块永远不会达到 temperature 为 0 的情况。

您只有温度 1、2 和 3 (case 1:) 的情况,因此如果温度不是这些,则不会发生任何事情。

因此,您应该使用 if/else 语句:

if (Temperatur <= 0)
{
    Console.WriteLine("Es ist kalt");
}
else if (Temperatur <= 13)
{
    Console.WriteLine("Es ist mild");
}
else
{
    Console.WriteLine("Es ist überdurchschnittlich warm");
}

你只需要 if 语句:

using System;

public class Example
{
   public static void Main()
   {
      if (Temperatur <= 0)
{
    Console.WriteLine("Es ist kalt");
}
else if (Temperatur <= 13)
{
    Console.WriteLine("Es ist mild");
}
else if (Temperatur >= 25)
{
    Console.WriteLine("Es ist überdurchschnittlich warm");
}
   }
}