繁体   English   中英

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

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

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

问题:

我没有得到任何回报。

例如:

如果我把 int Temperature = 0; 代码应该输出“Esist 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: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");
}
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM