Unity C# | While & Do-While

更新於 發佈於 閱讀時間約 3 分鐘

一、前言

  這篇文章將會講述 While 迴圈與 Do-While 迴圈。

二、 While

  這是一個比較簡易使用的迴圈,但是也比較有危險,使用的時候要特別注意迴圈是否有明確的架構,不會無限運作導致系統當機。

1. 架構

int ValueA = 0;
while(ValueA < 10)
{
   //Do something
}

  撰寫 While 迴圈,需要一個判斷式,與一個 break 用於跳出迴圈。

2. 判斷式

  ValueA < 10 是這個 While 迴圈的判斷式,只要符合這個條件,就會執行迴圈內的動作,在 While 迴圈中,只要符合迴圈的條件,就可以無限制地繼續執行下去,也因此判斷式會是整個迴圈的重點。

3. 注意事項與風險

  如果沒有設計好迴圈的判斷式,那程式就會陷入無限迴圈,這對於程式撰寫來說是很危險的狀態,如果沒有撰寫良好的判斷式,會導致迴圈停不下來,持續的執行直到電腦崩潰。

  尤其是新手容易放在 Update 中使用,導致每一幀都新增一個額外的迴圈,導致一秒出現60多個 While 迴圈,如果這些迴圈不會停止,那遊戲開始沒一秒不到系統就會過熱,直接當機,很快就崩潰了。

三、Do-While

  有些時候,我們並不希望一開始就檢測是否符合判斷式,而是希望程式可以先執行一遍,再去判斷是否有達成條件,Do-While 就是為了解決這樣的問題而存在,先執行一遍程式,再去判斷是否達成條件。

1. 架構

do
{
  //Do Something.
} while (ValueA < 10);

  撰寫 Do-While 迴圈,需要先撰寫一個 Do 關鍵字、程式碼區塊,並且在程式碼區塊的後方添加上 While 迴圈,並且直接上分號;作為結尾。

2. 判斷式

  ValueA > 10 就是此 While 迴圈的判斷式,跟 Whlie 迴圈完全一樣,不過 這個判斷式會在 Do 關鍵字執行以後才會運作,如果不符合條件會跳出迴圈;如果符合條件則會重覆 Do 裡面的事情,但無論怎麼說都會先執行一次 Do 裡面的事情。

3. 注意事項與風險

  Do-While 迴圈跟 While 的風險完全一樣。

四、額外的跳出迴圈-break

if(ValueA > 10)
{
break;
}

  我們可以使用一些方式提前跳出迴圈,除了好好撰寫判斷式之外,就是使用 break 關鍵字來跳出迴圈,這可以防治 While 迴圈的弊端,提前用 if 判斷式去判斷執行了幾次,有沒有超出既定的設計。

  但無論判斷式與 break 寫得多麼的精細與精湛,如果把它包裝在 Update 裡面,那程式無論如何都會崩潰。

四、後記

  最近我已經習慣早上起來撰寫文章,這可以大幅降低我請假休息的可能性,對於文章更新有非常好的幫助。

avatar-img
106會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
這篇文章將會講述物件池的基本概述,並介紹應用方向。
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
這篇文章將會講述物件池的基本概述,並介紹應用方向。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹 do...while 迴圈使用方式,它能確保程式碼至少執行一次的迴圈控制結構。
Thumbnail
本文介紹了 while 迴圈 的基本概念和語法,適用於不確定重複次數的情況。透過設定判斷條件,while 迴圈能夠靈活控制程式碼的執行。範例中展示了如何印出從 1 到 10 的數字,並強調了更新計數器以避免無窮迴圈的重要性。這使得 while 迴圈成為程式設計中一個實用的控制結構。
Thumbnail
這篇內容,將會講解什麼是「while迴圈」,以及與「while迴圈」相關的知識。包括while迴圈的簡介、while迴圈、break、continue。
Thumbnail
這篇內容,將會講解什麼是「for迴圈」,以及與「for迴圈」相關的知識。包括for迴圈的簡介、for迴圈、break、continue。
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
本文是C#入門教程的一部分,涵蓋了流程控制的各種語句與迴圈。這包括if、else if和else語句,三元運算子,switch語句,以及for、foreach和while迴圈。文中還介紹了如何在迴圈中使用break、continue、return和goto語句。
※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
Thumbnail
有別於上一篇for迴圈[Python基礎]流程控制for迴圈,while迴圈則常常被說是無限迴圈,若未到達跳脫的條件,是不會停止的。 在日常生活中,我們也常常用到這個概念,例如泡奶粉,要一直攪拌到粉都溶解了為止,其中的一直跟為止就等於while迴圈概念一樣,一直做到某個條件滿足了被觸發才停止。
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本文介紹 do...while 迴圈使用方式,它能確保程式碼至少執行一次的迴圈控制結構。
Thumbnail
本文介紹了 while 迴圈 的基本概念和語法,適用於不確定重複次數的情況。透過設定判斷條件,while 迴圈能夠靈活控制程式碼的執行。範例中展示了如何印出從 1 到 10 的數字,並強調了更新計數器以避免無窮迴圈的重要性。這使得 while 迴圈成為程式設計中一個實用的控制結構。
Thumbnail
這篇內容,將會講解什麼是「while迴圈」,以及與「while迴圈」相關的知識。包括while迴圈的簡介、while迴圈、break、continue。
Thumbnail
這篇內容,將會講解什麼是「for迴圈」,以及與「for迴圈」相關的知識。包括for迴圈的簡介、for迴圈、break、continue。
Thumbnail
在流程控制中,最常用的就是for loop 或是 while loop 語法了。 最常見的場景就是根據條件判斷式,重複執行特定的指令。 如果要在python寫出類似C/C++ for loop,可以怎麼寫呢? 透過索引去進行迭代 for var in range( start=0, sto
Thumbnail
本文是C#入門教程的一部分,涵蓋了流程控制的各種語句與迴圈。這包括if、else if和else語句,三元運算子,switch語句,以及for、foreach和while迴圈。文中還介紹了如何在迴圈中使用break、continue、return和goto語句。
※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續) break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。 continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。 造成無限迴圈的例子: 說明: 當 x 的值
Thumbnail
有別於上一篇for迴圈[Python基礎]流程控制for迴圈,while迴圈則常常被說是無限迴圈,若未到達跳脫的條件,是不會停止的。 在日常生活中,我們也常常用到這個概念,例如泡奶粉,要一直攪拌到粉都溶解了為止,其中的一直跟為止就等於while迴圈概念一樣,一直做到某個條件滿足了被觸發才停止。
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }