我不知道還有什麼在這種情況下使用,但一個if語句。結束一個else if語句C#
我想要做的是從Windows窗體中獲取值string direction;
並檢查它是否具有我正在查找的值。然後檢查turtleDir
是否是表示方向turtleDir
的字符串值。
問題出現在else if語句中,當turtleDir
是lookingleft
時,它會執行所有其他if語句。我想要它做的是在它完成之後,如果它需要停止並等待下一個命令。沒有經歷所有的陳述。
有人可以請教我如何解決這個問題,我做錯了什麼?
下面是代碼:
else if (Program.form.direction == "right")
{
if (turtleDir == "left")
{
angle = -1.6f;
turtleDir = "lookingLeft";
Program.form.direction = "";
}
else if (turtleDir == "lookingLeft")
{
angle = 3.15f;
turtleDir = "lookingDown";
}
else if (turtleDir == "lookingDown")
{
angle = 1.6f;
turtleDir = "lookingRight";
}
else if (turtleDir == "lookingRight")
{
angle = 0.0f;
turtleDir = "lookingUp";
}
}
你可以用C#中的字符串進行切換,這種方法似乎是一個很好的選擇。 :)但你也可以考慮切換到枚舉方向。 –
所有_else if_語句都不可能運行。可能發生的情況是您的主循環(我們在您的文章中看不到)繼續運行,因此它會一次又一次地點擊「if ... else」代碼,然後執行lookLeft-> lookingDown-> lookingRight- > lookingUp,此時'if ... else'中的條件都不能匹配。你的錯誤在「停止並等待」。你的程序如何停止並等待下一個命令? –
你是關於它保持循環,我昨天有一個按鍵,即時通訊在XNA開發和它的更新方法相同的問題。所以不知道在哪裏停止或等待是 –