前言
C#依然有許多需要學習的知識,本篇文章將會介紹命名空間、類別、方法、程式碼區塊等知識,並介紹字串。
C#構成
從 Unity 學習 C# 時,有些知識不會碰觸,並且容易對 Script 組成不熟,直到持續撰寫程式至一定程度後,正確認知自己所寫的內容與來源,是遊戲程式成長為程式員的基礎知識補全。
命名空間(namespace)
如同姓氏或家族名,類別包含會實作的程式碼;類別會組織為命名空間,以避免命名衝突,在不同的命名空間中,使用相同的名稱是可行的。
命名空間會釐清類別名稱,相同的類別名稱在不同的命名空間中可以同時存在,不過不會影響方法。
子命名空間
namespace MyNewApp.Business
{
// Classes here
}
namespace MyNewApp.Data
{
// Classes here
}
我們視需要加入多個命名空間,並建立多個層級的命名空間,只需要持續使用點運算子來附加命名空間即可。
類別(Class)
適用方法(function)、屬性(Property)、事件(Event)、欄位(Field)等成員的容器,如果是具狀態物件的方法就必須要用到new關鍵字,或是直接呼叫不具狀態的方法。
方法(function)
執行單位的程式碼區塊,當呼叫後遇到下列條件停止:
- 執行階段遇到 return 關鍵字。
- 執行階段遇到例外狀況且無法繼續。
- 執行階段成功執行方法中的每一行程式碼。
補充:Main()特殊,執行階段預設將搜尋它,並由此開始。
程式碼區塊
一行或多行程式碼的集合,以左右大括弧{}來定義,它代表在我們的軟體系統中具有單一用途的程式碼完整單位,程式碼區塊是了解程式碼組織和結構的核心,並會定義變數範圍的界限。
程式碼區塊內
在程式碼區塊內所建立的變數只能使用於區塊內,不過這種變數可以不用初始化,也就是說可以創建空的欄位而不指派。
程式碼區塊外
在程式碼區塊外所建立的變數必須初始化,如果沒有指派值給區塊外的變數,編譯器會顯示錯誤。
字串
無論是Debug.Log還是官方的Console.Write,都一定會使用到字串,在Unity中還會使用到text,這也會使用到字串。
字元逸出序列
為執行階段的特殊指示,說明要插入將會影響字串輸出的特殊字元。在C#中,逸出字元序列開頭為反斜線「\」,並且在後面接著另一個字元。
使用方法
- 新增空格:\t
- 換行:\n
- 如果要使用「"」:\""\
- 如果要使用「\」:\\ \\
逐字字串常值
會保留所有空白與字元,不需要使用任何的反斜線,直接在""前使用「@」指示詞。而這包含換行。
Unicode逸出字元
\u逸出序列,然後新增代表Unicode (UTF - 16)字元的四字元代碼。
字串插補
字串插補會透過使用「範本」與一個或多個「插補運算式」將多個值合併為單一常值字串。「插補運算式」是透過左右大括弧{}括住的變數,當常值字串具有前置$字元時,它會變成範本。
string message = greeting + " " + firstName + "!";
string message = $"{greeting} {firstName}!";
上述這兩個程式碼具有相同作用。
補充
如果要同時使用「逐字字串常值」和「字串插補」,要寫$@而非@$。
後記
我看了許多Microsoft的C#教學,我整理起來的筆記還有常常一串,我打算繼續寫下去,並整理成一系列的文章,這一系列的文章會使用Microfost C# 作為一個系列。