2014-08-31 77 views
-4
switch (other.gameObject.tag) { 
      case "Electron": 
        elec = true; 
        pyst = other; 
        break; 
      case "Proton": 
        prot = true; 
        pyst = other; 
        break; 
      } 

看起來很簡單,但找不到答案。代碼在c#中,pyst = other;線被執行以及電子=真;?在交換機的情況下,您可以有多個語句嗎?

+2

會發生什麼事,當你嘗試一下?它是否編譯? – Kobi 2014-08-31 11:38:55

+0

我的代碼非常龐大且複雜,需要幾年的時間才能發現它是否可行,但爲了讓遊戲正常工作,應該實施這一項。我很抱歉這個愚蠢的基本問題,但我無法在網上找到答案,所以你能回答嗎? case和break之間的每條線都被執行還是僅僅是第一個?他們沒有指定任何地方,所以我只是想確保 – user3772487 2014-08-31 11:52:59

+2

答案是「是」。如果你想嘗試一下,無論如何我都不會在我的大型製作應用程序中這樣做。只需在Visual Studio中啓動一個新項目並嘗試一下。 – 2014-08-31 11:56:51

回答

0

是的。

當代碼輸入一個大小寫塊時,它將繼續執行所有命令,直到它到達break或者說一個return語句。

在其他一些語言,如果你離開了,它會繼續執行命令的剩餘部分(這會導致在C#中的錯誤「Control無法通過從一個case標籤落」)破

相關問題