Unity C# | 類型(Type)&變數(Variable)

閱讀時間約 4 分鐘

前言

  最近在撰寫自己的程式時,深刻地感受到自己的C#知識不足,在程式的撰寫跟運用上雖然沒什麼問題,但程式的詳細運作原理還是造成了一些困擾,譬如我打算自己撰寫製作屬於我自己的工具包,卻跳出靜態成員和動態成員的不同導致的錯誤。

類型(Type)

  C#在儲存資料時,會將記憶體分別存在兩個類別,分別是「Stack」跟「Heap」,雖然兩個在英文中都是一堆兩堆的「堆」的意思,不過在英文中不相同。
  程式語言源於英語,無論是變數還是命名規則都很常使用英文來命名,中文在學習程式上會不太順利,會遇到像上面這樣,同樣是「堆」,英文使用兩個名詞來描述,也會遇到同樣是「normalize」,中文會有「歸一化」和「標準化」兩個不同的解讀。
Stack:儲存實值類型 (Value Type)
Heap:儲存參考類型 (Reference Type)

實值類型 (Value Type)

  所謂的實值型別,簡單來說就是這個值實際存在,當我們要儲存一個新的實質類型的資料,我們必須定義這個值是什麼。
int、float、enum、bool、struct......
上面是常見的實質類型資料,以「int」為範例
private int a = 10;
//創建一個整數a,而這個a的值為10。

參考類型 (Reference Type):

  而參考類型,指的是不需要實際值存在的類型,當我們宣告一個新的類型後並不需要指定一個值給它。
class、object、enum、string.......
上面是常見的參考類型,以「class」為範例
public class myclass{}

Unity中的使用方式

  當初撰寫程式的時候,其實並沒有注意到這些,因為Unity會幫忙定義好Class,並且有給Unity內建的函式,直接在裡面撰寫我需要的程式,對於初學者來說這就足夠了。
  在之前撰寫的文章也有提到,如果希望撰寫的程式「好」,要避免高耦合讓不同程式彼此互相影響,而內聚也要避免重複代碼,因此如果只懂得宣告跟使用變數,很容易出問題。
  參考類型在Unity中扮演一個個程式,像是Unity在建立新Script時:
public class myclass : monoBehavior
{
  void Start
  {
  }  
  void Update
  {
    
  }
}
會幫你建立好的這些程式,都是屬於Unity幫你定義好的參考類型,而新手在這些區域撰寫和使用,通常只會接觸到實值類型。

變數(Variable)

  接下來簡單講一下實值類型中的命名方式
public class myclass : monoBehavior
{
  private int a;
  private int _a;
  private int a1;
  //private int int;
  //private int 1a;

  void Start
  {
  
  }
  void Update
  {
  
  }
}
  上面以「int」為範例,三種命名方式,以及註解兩種錯誤的命名方式
  • 開 頭:英文、底線。
  • 非開頭:英文、底線、數字。
  • 不可為:關鍵字。
  變數(Variable)的命名在寫程式的使用上相當重要,每位程式設計師的風格都不太相同,不過基本上只要保持「易讀性」,能給不同設計師維護和使用,那就沒有什麼大問題。

結尾

  寫這篇文章讓我尋找了相當多的資訊,在書寫技術性文章時,一方面擔心自己寫的東西是否正確,會看很多不同的文章和影片來佐證,就像寫論文一樣,不過不需要一一列舉參考的資料(笑)。
  寫這一系列的文章,不太確定原因,不過寫起來相當有成就感,上次有看到IT鐵人比賽,相當的激勵我寫作,雖然不打算參賽,不過試試1-2天一篇文章是一個不錯的自我挑戰。
為什麼會看到廣告
avatar-img
105會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
撰寫程式,如何命名很重要,本文舉例了兩種廣泛使用的命名法則,同時收錄了好程式的判斷依據和減少資源浪費的撰寫方式。
撰寫程式,如何命名很重要,本文舉例了兩種廣泛使用的命名法則,同時收錄了好程式的判斷依據和減少資源浪費的撰寫方式。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 類別Class 創造類別之後就可以持續使用創建的類別來創建物件,以武器為例,在遊戲裡有不同的武器,但是他們的屬性是一樣的,我們就可以在一個類別裡面設定不同
Thumbnail
開啟Xampp伺服器,並啟動 apache & mysql mysql建立 開啟Unity 建立 Script toPhp.cs Unity物件 toWeb物件設定 此處需特別留意設定 UItext & MYtext ,否則會出現物件未設定的Null錯誤 Button 設定 test.php con
  透過Unity平台開發出來的遊戲,比較廣為人知,例如憤怒鳥和寶可夢。Unity 的遊戲開發技術,可以刺激遊戲產業,更朝氣蓬勃有效率地開發新遊戲用戶透過遊戲平台,就可以進入元宇宙的世界!
Thumbnail
Unity在這週公布了2022年Q1的財報,財報發布後股價下挫30%,下跌至30美元,已經遠遠跌破兩年前的上市價。Unity雪崩式的下跌是因為Q1的營運不理想、未來的營運預期不理想、還是單純是隨著近期成長股估值修正而下跌呢?這篇文會分析Unity 2022Q1財報及預測Unity未來的營運狀況。