C# 快速導覽 - 基本概念




C# 為微軟推廣的程式語言 (programming langeage) ,承接 C++ 與 Java 而來,標準為 ECMA-334 ,擁有 .NET 程式庫 (library) 的豐富資源,目前可使用微軟 Visual 系列軟體當作開發工具,或使用跨平台的第三方編譯器 (compiler) 進行編譯 (compile) 。



接下來我們以一個簡單的小程式說明 C# 的基本概念 :)
class Demo {
    static void Main() {
        System.Console.WriteLine("^_^");
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:simeple.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


C# 程式的原始碼 (source code) 副檔名使用副檔名 .cs ,我們採用的是跨平台的 mono 編譯器,於命令列使用 gmcs 指令,執行程式使用 mono 指令。先來編譯執行看看吧



整個程式的內容很少,簡單說就只有一個 class 的定義
class Demo {
    static void Main() {
        System.Console.WriteLine("^_^");
    }
}


所有 C# 程式都是由類別 (class) 組成的,這是說每個 C# 程式都至少要定義一個 class 。每個類別都可以定義屬性 (attribute) 與方法 (method) ,由類別來建立物件 (object) ,屬性為物件特有的數值,例如車子有顏色有窗戶等等,方法則是類別可以執行的工作,像是開車前進等等。


可執行的 C# 程式在類別中須定義 Main() 方法,而且 Main() 必須是 static 的。 static 修飾的方法表示屬於類別而非物件,這是說 static 可以用類別呼叫而不能用物件呼叫,至於 Main() 比較特別一點,因為 Main() 是程式執行的起點,每個可執行 C# 程式中都必須定義 Main() 方法。


方法可以有參數 (parameter) 及回傳值 (return value) ,參數是提供給方法計算的值,放在方法名稱後的小括弧中,回傳值則是方法計算的結果。方法不一定要有參數或回傳值,如此例的 Main() 沒有參數,小括弧就留空,同樣沒有回傳值,因此宣告為 void


classstaticvoid 都是關鍵字 (keyword) ,所謂的關鍵字是指具有語法功能的保留字,我們接下來會逐一介紹各個關鍵字的用法。


我們仔細看一下 Main()
static void Main() {
    System.Console.WriteLine("^_^");
}


這裡我們使用了 .net 程式庫中 System 命名空間 (namespace) Console 類別的 WriteLine() 方法,由於 WriteLine() 也是個 static 方法,因此由類別名稱呼叫,這個方法的作用是將字串 (string) 參數輸出到命令列上,因此結果就會顯示笑臉 ^_^ 囉!


留意第 3 號的結尾
System.Console.WriteLine("^_^");


這是一個分號,分號表示陳述 (statement) 的結束。陳述為程式執行的單位,這是說 C# 程式執行是由 Main() 的第一行陳述開始,由上而下,一行接著一行執行的。


第 7 行以後
/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:simeple.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


利用 /* 和 */ 回起來的地方,這是 C# 多行註解 (comment) 的方式,編譯器會忽略所有的註解文字,因此註解文字沒有額外的語法規則,也就是說,用任何方式寫註解都可以囉!


利用 /* */ 的多行註解,註解中不可再有其他註解。


C# 也有單行註解的方式,就是用連續兩個斜線 // ,如
// 這是註解的第一行
// 這是註解的第二行


註解是在程式中附加的說明文字,不同開發團隊會有不同的註解方式。我們所提供的註解主要仍是供教學說明之用。


中英文術語對照
程式語言programming langeage
程式庫library
編譯器compiler
編譯compile
原始碼source code
類別class
屬性attribute
方法method
物件object
參數parameter
回傳值return value
關鍵字keyword
命名空間namespace
字串string
陳述statement
註解comment


您可以繼續參考
基本概念
標記
內建型態


相關目錄
回 C++ 快速導覽
C# 教材
回首頁


參考資料
Standard ECMA-334 C# Language Specification
msdn: C# 程式設計手冊

沒有留言: