C# 为什么在if语句运行之前,else语句仍在运行?

C# 为什么在if语句运行之前,else语句仍在运行?,c#,if-statement,console,console-application,C#,If Statement,Console,Console Application,当“wunschnote”不大于6且小于1时,所有if语句都不会运行,但只要其中一个if语句运行,else语句也会执行 我试图在if语句中设置“Console.ReadLine();”,但这导致了同样的问题。然后我尝试将else语句替换为if语句,但这也导致了同样的问题 if (wunschnote > 6) { Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste

当“wunschnote”不大于6且小于1时,所有if语句都不会运行,但只要其中一个if语句运行,else语句也会执行

我试图在if语句中设置“Console.ReadLine();”,但这导致了同样的问题。然后我尝试将else语句替换为if语句,但这也导致了同样的问题

if (wunschnote > 6)
{
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}

if (wunschnote < 1)
{
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}

else
{
    Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
}
Console.ReadLine();
if(wunschnote>6)
{
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
}
如果(wunschnote<1)
{
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
}
其他的
{
Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”);
}
Console.ReadLine();

我希望当其中一个if语句运行时,else语句不会得到executet。

您需要在您的案例的第二个条件中应用
if else if

if (wunschnote > 6) { // this fails
}
else if (wunschnote < 1) { // then check this 
}
else { // if above if fails then this executes
} 
如果(wunschnote>6){//这会失败
}
否则,如果(wunschnote<1){//,则检查此项
}
else{//如果上述操作失败,则执行此操作
} 

现在在这种情况下,只执行一个条件块代码。

您的else语句仅对第二个if条件(6)有效 { Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”); } else if(wunschnote<1) { Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”); } 其他的 { Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”); } 试试这个:

if (wunschnote > 6 || wunschnote < 1)
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
else
    Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
if(wunschnote>6 | | wunschnote<1)
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
其他的
Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”);

if的第二个
if应该是
elseif
if (wunschnote > 6)
{
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}

else if (wunschnote < 1)
{
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}

else
{
    Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
}
if (wunschnote > 6 || wunschnote < 1)
    Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
else
    Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");