Unity C# | for & foreach

Unity C# | for & foreach

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

前言

  這篇文章將會介紹 for 陳述式和 foreach 陳述式,以及比較兩者的差別,並撰寫範例介紹用途。

迴圈使用條件

  當我們需要重複執行程式碼達特定次數,或需要控制.NET執行階段去執行反覆項目的方式時,會使用到迴圈,在遊戲產程式中,迴圈更是不可少的重要程式碼區塊。

反覆項目陳述式 | 迴圈

  • for:逐一查看程式碼區塊達特定次數
  • foreach:針對一連串資料(陣列或集合),逐一查看程式碼區塊一次。
  • while:逐一查看程式碼區塊,直到條件符合。

for陳述式的六部分

  • for 關鍵字
  • 定義 for 反覆項目條件的一組括弧。 它包含三個不同的部分,並以陳述式運算子的結尾 (分號) 分隔。
  • 第一個部分會定義和初始化迭代器變數。 在此範例中為:int i = 0。 文件將這個區段稱為初始設定式
  • 第二個部分會定義完成條件。 在此範例中為:i < 10。 換句話說,當 i 小於 10 時,執行階段會繼續逐一查看 for 陳述式底下程式碼區塊中的程式碼。 当 i 等于 10 时,运行时停止执行 for 语句的代码块。 文件將這個區段稱為條件
  • 第三個部分會定義要在每個反覆項目之後採取的動作。 在此案例中,在每個反覆項目之後,i++ 會將 i 的值遞增 1。 文件將這個區段稱為迭代器
  • 最後是程式碼區塊。 這是將針對每個反覆項目執行的程式碼。 請注意,在程式碼區塊內會參考 i 的值。 文件將這個區段稱為本文

Break的使用

for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
if (i == 7) break;
}

for與foreach的差別

下列程式只有for可以辦到

string[] names = { "Alex", "Eddie", "David", "Michael" };
for (int i = names.Length - 1; i >= 0; i--)
{
Console.WriteLine(names[i]);
}

foreach的限制

string[] names = { "Alex", "Eddie", "David", "Michael" };
foreach (var name in names)
{
// Can't do this:
if (name == "David") name = "Sammy";
}

name是區域變數,而在for中是外部的陣列。

後記

  其實在撰寫遊戲程式時,我只用到 for 而 foreach是從來沒用過,只有在跟著教學撰寫程式時,才會用到其他的迴圈,因此每一位程式員在處理問題時會使用的方式都不太一樣,就像我習慣使用 for 迴圈。

raw-image


avatar-img
瓶裝雪的沙龍
108會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言
avatar-img
留言分享你的想法!
瓶裝雪的沙龍 的其他內容
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Side Project 是打破傳說魔咒的解咒法,對於新鮮人來說,要找工作大多都要求工作經驗,然而這就跟打副本需要至少兩次刷副本的經驗一樣,若在團隊中沒有熟人,永遠會卡在等級一。
這篇文章將會告訴你詭野西部這一款遊戲的設計巧思,優秀的設計點以及創新之處。
這篇文章將會講述在程式員中的慣例,命名規則,這些規則並不具有強制力,但能讓你在寫程式時有更好的可讀性。
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
你好!我是瓶裝雪!這次要來介紹的遊戲是2017年TGA的五款年度最佳動作遊戲提名:德軍總部2、獵魂、仁王、茶杯頭、天命2中的一款,獵魂(Prey)
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Side Project 是打破傳說魔咒的解咒法,對於新鮮人來說,要找工作大多都要求工作經驗,然而這就跟打副本需要至少兩次刷副本的經驗一樣,若在團隊中沒有熟人,永遠會卡在等級一。
這篇文章將會告訴你詭野西部這一款遊戲的設計巧思,優秀的設計點以及創新之處。
這篇文章將會講述在程式員中的慣例,命名規則,這些規則並不具有強制力,但能讓你在寫程式時有更好的可讀性。
本篇文章將會講述陣列 (Array) 及 foreach 陳述式,陣列是寫程式中關於大筆資料的儲存方式,而 foreach 是處理大筆資料的處理方式之一。
你好!我是瓶裝雪!這次要來介紹的遊戲是2017年TGA的五款年度最佳動作遊戲提名:德軍總部2、獵魂、仁王、茶杯頭、天命2中的一款,獵魂(Prey)