C# 是微軟推出的一種基於 .NET 框架的、物件導向的進階程式語言。C# 以 .NET 框架類別館作為基礎,擁有類似 Visual Basic 的快速開發能力。C# 由安德斯·海爾斯伯格主持開發,微軟在 2000 年發布了這種語言,希望藉助這種語言來取代 Java。 C# 已經成為 ECMA 國際和國際標準組織的標準規範。
何謂 C#
C# ( 念法為 C Sharp )。源自於 C 語言。
C# 為強型別的語言,指的是每一個物件都必須指定型別。使用前你要先幫它規定好,該是整數就是整數 ( int ),該是字串就是字串 ( string ),要把整數當成字串用,就需要使用轉型。在各型別的繼承關係中,最上層的型別是 Object,意即,所有的東西都是物件。
C# 副檔名為 .cs,應用範圍廣,如網頁、大型作業系統、小型嵌入式系統…等皆可以用其來開發。
為了確保 C# 程式和庫能夠隨著時間的推移以相容的方式發展,在 C# 設計中,已非常強調版本控制。 許多程式設計語言很少注意這個問題。 因此,引入依賴庫的較新版本時,用這些其他語言編寫的程式中斷的頻率超過必要。 C# 設計中受版本控制注意事項直接影響的方面包括單獨
virtual
和override
修改器、方法重載解析規則以及對顯式介面成員聲明的支援。
Hello World
以下為 C# 官方起手式的寫法,並附上說明:
1 | using System; |
using
寫在最上方用來匯入函式庫(其他命名空間)使用,這也是 using
最常用的用法。
- 為什麼要匯入其他函式?
用法類似寫 SCSS 使用的 import
,匯入外部程式碼,就可以直接在程式中使用命名空間裡的型別,而不用指定型別的詳細空間,以縮短程式碼。
namespace 命名空間
通常會在 using System
之後,在 class
之前,打包程式碼的空間,把相同功能者聚集在一起,用 namespace
名稱 { }
一組大括號包起來,可以自訂義名稱,預設建立時會設定的跟專案( project )名稱一樣,當其他地方要用到的時候可以呼叫這個名字,如上方 using 後方也都是命名空間。用來指名程式所屬範圍,避免相同名稱類別產生衝突,可以控制類別的範圍。 一個檔案只有一個命名空間。
class
- 開頭要使用
using
,System
代表使用這個命名空間,命名空間包含數個型別 (如程式中參考的Console
類別),和數個其他命名空間 (如IO
和Collections
)。並且每一段程式碼要用;
分號結尾。 - 如上方簡介提到 C# 為強型別語言,也就是都要先定義類別
(class)
並給予一個變數名稱,這裡使用變數名稱為Hello
。 - C# 是階層式的語法,從宣告
class
開始,都要使用大括號包住下一層的程式碼。
static void Main(){ }: 進入點寫法
整份程式碼非常多,C# 的世界裡,要告訴電腦從哪一行開始往下讀。這是 Console
模式裡進入點的寫法。C# 只能有一個進入點。
- static: 一般類別中的方法必須先建立該類別的實體物件 (new) 後才能使用。若宣告為
static
,代表一開始就存在在記憶體中,不用先建立Main()
的物件實體就能叫用。 - void: 表示不會傳回任何值。
- Main(): 為程式開始執行的進入點。
- string[] args:代表執行
Main()
方法時會將接在專案執行檔後面的參數置入args
陣列。args
是一個字串陣列。
在函式參數中看到這串參數
string[] args
,表示命令列引數是字串陣列,就是說,你在命令列[]
裡輸入的引數可以使多個字串(在某種意義上意味著什麼都可以是命令列引數)。
- 執行時會彈出命令視窗,你可以在那裡輸入一些引數,
string[] args
指的就是你在命令視窗輸入的引數。args
是用來處理命令列引數的。命令列引數,就是你執行這個程式的時候給它傳的引數。它是可選項,不是必須。
Console
Console.WritLine("Hello World!");
- console: 是在
console
執行,所以目標就是console
。 - WriteLine(): 這是一種方法,代表 輸出 + 換行 這個動作。
()
內要放參數,或是我們要輸出的內容。由於我們要輸出的Hello World
是字串,要用雙引號包起來。更多輸出內容可以參考 MSDN - C#每行程式需要用分號
;
結尾。
Console.Read();
架構跟上方相同,Read()
這個方法是讀入主控台輸入的字串。這一行是因為,程式預設一執行完就會關閉視窗,會看不到輸出結果。加了這一行它就會等著我們輸入字串暫時不關閉視窗。也可以寫Console.ReadKey();
,讀入一個鍵的意思。
接著按下上方執行輸出結果,恭喜你完成 Hello World!
了!
C# 讀入與輸出
讀入
Console.Read()
: 讀入一個字元。Console.ReadLine()
: 讀入一行字串。Console.ReadKey()
: 讀入一個鍵。
輸出
Console.Write()
: 輸出一段字但不換行。Console.WriteLine()
: 輸出一段字並換行。
所呈現的程式碼內容會如下圖:
以上為自學筆記,若有誤還請各位前輩提點指正。
參考資料: