我正在尝试使用 If-Statements 代码创建一个简单的开关案例。
问题:
我没有得到任何价值。
例如:
如果我输入 int 温度 = 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
正好1
或2
时,它不能小于或等于0
也不能大于或等于25
。因此,Temperatur
不可能有一个值来获取所选switch
的前两个分支中的任何一个,并且还满足该分支中的if
。
只需使用if
和else 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");
}
}
}