C# 入門指南 - 認識 C# 語言

使用 C# 語言寫程式,最簡單的方式就是開啟文字編輯器 (text editor) ,然後將原始程式碼逐字元一個一個打進文字編輯器中,然後依純文字檔案的編碼儲存檔案, C# 程式的原始碼檔案採用 .cs 的副檔名。




或是使用本站的語法高亮度顯示,此範例程式 demo.cs 如下
// 宣告類別名稱
class Demo {
    // 宣告 Main() 方法
    static void Main() {
        // 建立 object 型態的物件
        object o = new object();
        
        // 於命令列印出訊息
        System.Console.WriteLine();
        System.Console.WriteLine(o.ToString());
        System.Console.WriteLine("↑↑ 上面是 Object 的字串形式");
        System.Console.WriteLine();
        System.Console.WriteLine("程式執行結束 ....");
        System.Console.WriteLine();
    }
}

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


我們先看到有特殊顏色標記的幾個字
class static void new


classstaticvoidobjectnew 被稱為關鍵字 (keyword) ,所謂的關鍵字是語法功能的保留字 (reserved word) ,具有既定特殊的用法,例如 class 用來宣告與定義類別 (class) 。 C# 共有 83 個關鍵字,我們接下來會逐一介紹各個關鍵字的用法。


另外,雙引號圍起來的內容則為另一種顏色
"↑↑ 上面是 Object 的字串形式"
"程式執行結束 ...."


這是字串字面常數 (string literal, 字串常值) ,所謂的字串就是文字資料,字串內容可以是任何輸入字元。


註解 (comment) 在語法高亮度系統也有特殊的顏色,連續兩個斜線為單行的注釋,斜線、星號開始到另一組星號、斜線結束的範圍則為多行的註解
// 宣告類別名稱
// 宣告 Main() 方法
// 建立 object 型態的物件
// 於命令列印出訊息

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


所謂的註釋就是在程式中輔助說明的文字,凡是註釋文字,也就單行連續兩個斜線之後的文字,或是多行斜線、星號範圍間的文字,這些文字都不屬於會被程式執行的部份,因此可用自然語言替程式說明,無須恪守 C# 的語法規則。


其他沒有粗體,也沒有特殊顏色的文字都是識別字 (identifier) ,所謂的識別字是我們寫程式自行定義的名稱,如上例中的變數 (variable) o 。事實上,許多識別字已經是預設或是存在 .net 程式庫之中,預設如上面的 Main() 、 System 、 Console 、 WriteLine 、 ToString() 等, Main() 為方法 (method) 名稱,每個可執行的 C# 類別都必須有個 Main() 方法, void 則表示 Main() 沒有回傳值 (return value) 。


這裡, Main() 的小括弧中間表示參數列 (parameter-list) ,留空表示空的參數列,也就是沒有參數 (parameter) 。


.net 程式庫提供許多已經寫好、測試無誤的程式,因此我們寫程式可以直接使用,無須再次開發。


這個範例很簡單,大體上我們可以分成四個區域來看,分別是
  • 宣告類別名稱
  • 宣告 Main() 方法
  • 建立 object 物件
  • 於命令列印出訊息


由於 C# 是物件導向程式語言 (object-oriented programming language) ,使用 C# 寫程式就是設計、規劃物件,而類別為物件的藍圖,因此所有的 C# 程式都至少有一個類別,也就是說, C# 程式都必須用 class 定義, class 就是定義類別所採用的關鍵字。


可執行的 C# 程式則需要定義 Main() 方法,這個 Main() 需要用 static 修飾, static 表示可由類別名稱存取,這是給 CLR 呼叫 (call) 之用, CLR 為 C# 程式的虛擬執行系統。


new 關鍵字用來新建物件,變數 o 為對 object 型態物件的參考 (reference) ,由於 C# 是強型態 (strong typing) 的程式語言,因此變數使用前需要先經過宣告 (declaration) ,宣告的目的就是標明變數的資料型態 (data type) 。 new 之後接的 object() 為 object 類別的建構子 (constructor) ,透過建構子就可以把類別轉化為物件。


底下使用 .net 中 System 名稱空間的 Console 類別的 WriteLine() 方法,使參數一次一行印在命令列上,其中用到
System.Console.WriteLine(o.ToString());


這裡 WriteLine() 用 string 型態的物件當作參數, string 型態的物件也就是字串,雙引號圍起來的內容。 o 呼叫 o 自己的 ToString() 方法,這個方法會回傳 o 的字串表達形式,也就是表示 o 的字串物件。


一種類別,也就是一種型態(資料型態),我們繼續來看看如何編譯與執行吧!


中英文術語對照
文字編輯器text editor
關鍵字keyword
保留字reserved word
類別class
字串字面常數string literal
註解comment
識別字identifier
變數variable
方法method
回傳值return value
參數列parameter-list
參數parameter
物件導向程式語言object-oriented programming language
參考reference
強型態strong typing
宣告declaration
資料型態data type
建構子constructor


您可以繼續參考
基礎篇


相關目錄
回 C# 入門指南
回 C# 教材
回首頁


參考資料
http://msdn.microsoft.com/zh-tw/library/z1zx9t92%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/x53a06bb%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/9kkx3h3c%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/aa691090%28v=vs.71%29.aspx
http://msdn.microsoft.com/zh-tw/library/362314fe%28v=vs.80%29.aspx
http://msdn.microsoft.com/zh-tw/library/system.console.aspx

沒有留言: