C# 是微軟所設計的一種物件導向語言,期設計理念受到 C 與 Java 語言的影響,採用類似 C 語言的語法,並使用類似 Java 語言的虛擬機架構,具備物件導向的能力,是微軟在其主力平台 .NET 上最重要的開發語言。
要使用 C# 開發程式,必須安裝 Visual C# Express 或是 Visual Studio,其中 Visual C# Express 是免費的,您可以下列網址當中下載其安裝程式。
Visual C# express 中文版 — http://www.microsoft.com/visualstudio/cht/downloads
Visual C# Express 的安裝相當簡單,筆者在此不加以說明,但若您希望能在安裝前先預習一遍,可以參考下列網頁的安裝過程。
佳新的部落格 - 下載並安裝Visual C# 2008 Express中文版:
http://jarsing.blogspot.com/2009/01/visual-c-2008-express.html
由於微軟是目前軟體界最大的公司,並且極力推廣 C# 與 .NET 平台,這使得 C# 所支援的程式領域特別廣泛,除了命令列程式之外,C# 還常用在視窗、資料庫、網路、網頁、手機、遊戲等領域,其應用的廣泛性是其他語言所難以趕上的。
以下,我們分別就這些領域,逐一進行介紹。
視窗程式設計
C# 可用來撰寫 MS. Windows 作業系統上的視窗程式。微軟目前的視窗開發套件有兩種,比較舊但卻很成熟的一種稱為 Window Forms,比較新但卻較少人用的一種稱為 WPF (Windows Presentation Foundation)。
Window Forms 採用的是物件導向的視覺化設計元件,您可以用拖拉的方式,輕易的設計出視窗介面,然後利用事件驅動的方式,撰寫該事件的處理程式,像是滑鼠被按下,鍵盤被按下等都會觸發視窗系統中的事件。
WPF 的設計雖然也是物件導向式的,但是為了網路化的考量,微軟創造了一個稱為 XAML 的 XML 規格,讓使用者可以撰寫 XAML 語法以創建使用者介面。這種做法與 Google 在 Android 平台上的做法有點類似,但是直到目前為止,這些規格仍然沒有受到瀏覽器的支援,因此用 XAML 設計使用者介面的必要性並不強烈,筆者仍建議採用 Window Forms 撰寫程式。
資料庫
微軟設計的開發工具,通常都會極力支援自家的產品,因此在 C# 當中最容易使用的是MS. SQL 與 Access 資料庫。但是由於這兩個資料庫都是要收費的,因此對於經費有限的個人而言,並不適當。但是如果您有 MS. SQL 或 Access 等軟體,就會感覺到微軟在資料庫上的用心,因為這是微軟主要的獲利來源。
網路
微軟的 .NET 平台除了支援傳統的 TCP/IP 網路基礎函式庫 Socket 之外,還設計了許多新的網路物件,像是 HTTP 的 WebRequest 等,這些物件可以讓程式設計者更省力的設計出網路程式。但是以筆者觀點,Socket 函式庫仍然是最重要的,因為使用 Socket 函式庫可以讓你清楚的理解網路程式的運作原理,直接透過 TCP/IP 掌握通訊程式的精隨。
網頁
微軟的網頁伺服器 IIS (Internet Information Server) 當中,所使用的開發環境稱為 ASP.NET,這是從過去的 ASP (Active Server Pages) 所延伸而來的。在 ASP.NET 當中支援了 C# 與 VB 等兩種開發語言,您可以輕易的使用 Visual Studio 進行 ASP.NET 的程式開發。
手機
微軟的手機通常稱為 Smart Phone,其作業系統稱為 Windows Mobile (筆者撰稿時版本為 6.5 版),微軟手機屬於智慧型手機,支援 3G, HSDPA, 藍芽, 802.11 等通訊協定,通常被商務人士所使用。
在 iPhone 竄起之後,微軟在手機上的表現就失去了光采。最近,更由於 Google 的手機平台 Android 的影響,微軟手機的魅力盡失,顯然微軟須要在手機領域加把勁,否則將會被 iPhone 與 Android 夾殺,而難以擴大市場佔有率。
即便如此,在 MS. Windows 平台上,微軟手機的開發工具仍然是最完整且成熟的。您可以使用 Visual C# Express 或 Visual Studio 進行微軟手機的程式開發,其方法幾乎與 Window Forms 的程式開發一模一樣。這點對 C# 的程式設計師仍然是相當具有魅力的,我就很喜歡用 C# 開發手機上的程式。
要用 C# 開發手機程式之前,您必須先安裝 Windows Mobile 6 SDK 套件,該套件的下載網址如下。
遊戲
微軟在 2007 年推出了 XNA 遊戲開發平台,讓程式設計者可以利用 C# 語言開發遊戲程式,並且可以將這些遊戲放到 PC、XBOX 與 Zune 等裝置上執行,這對想要學習遊戲程式設計的人而言,是一個很好的開發平台。在 XNA 出現之前,遊戲公司都必須購買昂貴的遊戲設計軟體,以便開發遊戲程式。因此遊戲程式成了遊戲公司人員的商業秘密,但是在 XNA 出現之後,個人或者工作室都可以利用 C# 語言,直接開發出遊戲程式,而不需要購買那些昂貴的設計軟體。這對想學習遊戲程式設計的人而言是一個很好的消息,遊戲的開發因 XNA 而變得普及了。
要撰寫 XNA 遊戲程式,您必須安裝 XNA Game Studio 套件於 Visual C# Express 當中,您可以從下列 MSDN 網址中取得該套件。
跨平台的考量
假如您希望讓 C# 程式在 UNIX/Linux/FreeBSD/MAC OS X 等平台上執行,也可以採用 Novell 公司所主導的 Mono 計畫,該計畫已經發展出一套跨平台的函式庫,讓您可以輕易的將 C# 程式放到非微軟的平台執行,Mono 計畫的網址如下。
最新的發展
C# 語言在 3.0 版當中,加入了許多方便的新語法,像是匿名函數、資料查詢語言 Linq 等等,這些新功能讓 C# 語言超越了 Java ,成為簡單又強大的語言,有興趣的讀者可以觀看下列網頁當中的說明,該文章對 C# 3.0 的功能有簡單且扼要的介紹。
搖擺天秤的程式開發日誌:
http://richielin-programer.blogspot.com/2008/02/visual-c-30.html
結語
雖然我並不是微軟的擁護者,甚至還有點反微軟的傾向,但是我仍然選擇了用 C# 為主要的開發語言。原因是 C# 的用途相當廣泛,支援的體系很完整,Visual C# Express 也很好用,而且我是個實用主義者。
我需要撰寫 Windows 當中的視窗程式、網路程式與遊戲程式,因此我使用 C# 與 Visual C# Express。
文章轉載:陳鍾誠 (2010年06月10日),(網頁標題) C# 簡介,(網站標題) 免費電子書:C# 程式設計,2010年06月10日,取自 http://cs0.wikidot.com/introduction ,網頁修改第 1 版。
留言列表