C# 切换大小写与 if 语句不返回我控制台.写行



我正在尝试使用 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正好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");
}
}
}

最新更新