59
Visual C# 2010 程程程程程程 程1程 .NET Framework 程 Visual St udio 2010 程程

Visual C# 2010 程式設計經典

Embed Size (px)

DESCRIPTION

Visual C# 2010 程式設計經典. 第 1 章 .NET Framework 與 Visual Studio 2010 簡介. 1.1 Visual Studio 2010 簡介. Visual Studio 2010 的新功能如下: - PowerPoint PPT Presentation

Citation preview

Page 1: Visual C# 2010  程式設計經典

Visual C# 2010 程式設計經典

第 1 章.NET Framework 與 Visual Studio

2010 簡介

Page 2: Visual C# 2010  程式設計經典

1.1 Visual Studio 2010 簡介 Visual Studio 2010 的新功能如下:1. 以最新的 WPF(Windows Presentation Foundation) 設計

工具讓你使用視覺化方式設計 Windows Vista 與 Windows 7 視窗應用程式的 GUI( 圖形化使用者介面 ) , WPF可建立 2D 或 3D 動畫,且 3D 動畫支援攝影機、光源與材質;透過 Visual Studio 2010 開發 WPF 應用程式可支援 XAML IntelliSense ,讓開發人員可以更精確的撰寫 XAML Code ,屬性視窗可調整控制項的漸層色彩,讓開發人員完全不用撰寫設計 WPF 介面的 XAML code ,便可建立更具使用者經驗及生動的視窗應用程式。

Page 3: Visual C# 2010  程式設計經典
Page 4: Visual C# 2010  程式設計經典
Page 5: Visual C# 2010  程式設計經典

2. 可在 WPF 或 Silverlight 應用程式上開發 Multi-Touch 多點觸控的應用程式。

3. Visual Studio 2010 內建 Silverlight 專案,透過 Silverlight 專案可讓開發人員快速開發更具使用者經驗的 RIA(Rich Internet Application) 及 Windows Phone 7 行動裝置應用程式。

4. ASP .NET 4.0 新增 MVC2 專案,為大型 Web 應用程式簡化開發流程。此外 ASP .NET Web 應用程式內建 ASP .NET AJAX 擴充功能以及 Microsoft AJAX Library 讓您快速開發 AJAX Web 應用程式,以便建置 Web 2.0 的網站;並支援 jQuery 前端指令碼開發套件,透過 jQuery 跨平台的 JavaScript 函式庫與 ASP .NET AJAX 擴充功能,讓開發人員能設計即時性及更豐富的 Web 應用程式 UI 介面。

Page 6: Visual C# 2010  程式設計經典
Page 7: Visual C# 2010  程式設計經典

5. 使用 Visual Studio 2010 或 Visual C# 2010 Express Edition 編輯 JavaScript 或 jQuery ,可以支援 IntelliSense ,讓程式設計師撰寫用戶端指令碼 JavaScript 或 jQuery 更有效率。

6. ASP .NET 4.0 新增 Chart 圖表控制項, Chart 圖表控制項只要配合資料來源控制項 ( 如 SqlDataSource 或 AccessDataSource… 等 ) ,即可讓您可以不用撰寫任何一行程式即能在網頁上繪製各種類型的統計圖表。

Page 8: Visual C# 2010  程式設計經典
Page 9: Visual C# 2010  程式設計經典

7. 透過全新的 CSS(Cascading Style Sheet ,串接樣式表 )與網頁標準支援來建立 Web 應用程式的使用者介面 (ASP .NET 網頁,即 Web Form) 。

8. Visual Studio 2010 支援 .NET Framework 多目標版本開發 (multi-targeting support) ,讓開發人員建立專案時可選擇 .NET Framework 2.0 、 .NET Framework 3.0 、 .NET Framework 3.5 以及 .NET Framework 4.0 各種版本的應用程式。

Page 10: Visual C# 2010  程式設計經典
Page 11: Visual C# 2010  程式設計經典

9. 透過 Visual Studio 2010 的整合開發環境可輕鬆建立更可靠、可延展以及容易使用的 Microsoft Office 2010 System 專案。

10. Visual Basic 及 C# 整合 LINQ 查詢語法,透過 LINQ 查詢運算式可以讓您使用一致性的語法輕鬆查詢 SQL Server 資料庫、 XML 、 ADO .NET 資料集、陣列和集合、或其它支援 LINQ 遠端或本機資料來源的資料。

11. Visual Studio 2010 內含 SharePoint 開發專案,以便協助開發人員建立 Microsoft SharePoint Server 2010 以及 Microsoft SharePoint Foundation 2010 專案。

12. Visual Studio 2010 支援多螢幕顯示,讓開發人員可以將工具箱、方案總管、除錯視窗、編輯器拖曳到第二台螢幕顯示,讓整合開發環境空間變得更大,使開發人員提高工作效率。

Page 12: Visual C# 2010  程式設計經典

13. Visual Studio 2010 內建 Windows Azure Cloud Service專案,讓開發人員可以建立雲端服務,進行 Winsows Azure 的開發、測試與部署。

Page 13: Visual C# 2010  程式設計經典

Visual Studio 2010 的特色如下: 透過您熟悉的語言,如 Visual Basic 、 C# 、 C++ 可開

發 Windows Form 應用程式、 WPF 應用程式、 ASP .NET Web 應用程式、 Silverlight 應用程式、 Web 服務、智慧型裝置應用程式 (Windows Phone) 、 Windows Embedded 、報表應用程式、 SharePoint… 等各類型應用程式專案。

以視覺化的拖放設計工具來建立 Windows Form 應用程式、WPF 應用程式、 ASP .NET Web 應用程式、 Silverlight應用程式、智慧型裝置應用程式 (Windows Phone) 、報表應用程式…等各類型應用程式專案。

Page 14: Visual C# 2010  程式設計經典

3. 透過 Visual Studio 2010 整合開發環境的 IntelliSense 編輯器功能,可簡化應用程式的設計週期,以提升專案的生產力。

4. ClickOnce 是一種部署應用程式的技術,透過 ClickOnce 可讓您建立以最少的使用者互動經驗來安裝自行更新至用戶端的 Windows 應用程式。

5. 透過 ASP .NET 可快速建立互動的 Web 應用程式、 Web服務或 WCF 服務,並使用主版面頁 (MasterPage) 讓開發人員設計統一且方便管理的網站版面。

Page 15: Visual C# 2010  程式設計經典

1.2 軟體技術的演進 在一項新的軟體開發技術或平台推出時,往往導因於原有

的技術或平台已不足以應付目前軟體開發的需求,因此如果能夠了解軟體開發技術的演進,就更能清楚了解 .NET Framework 這個新一代的軟體開發平台與技術是從何而來,有什麼值得我們深入探討的。

分別以「軟體分析方法」、「程式設計方法」、「軟體系統功能分層」、「軟體開發架構演進」與「軟體平台」五個部份,說明過去和現在的軟體開發技術演進。

Page 16: Visual C# 2010  程式設計經典

1.2.1 軟體分析方法 在整個軟體系統開發流程先期

系統分析 相當重要。 在物件導向技術出現前

結構化程式設計是軟體開發主流 為因應複雜軟體系統,程式設計出現大變革

物件導向 (Object Oriented) 技術

Page 17: Visual C# 2010  程式設計經典

以往結構化、模組化軟體分析方法 已不適超大型軟體系統。

OOA 物件導向分析、 OOD 物件導向設計 在 1989~1994年間增到 50 多種,不同分析方法導致 無法適用各類型系統分析的問題。

1997 年 Grady Booch, James Rumbaugh, Ivar Jacobson 三位軟體分析大師 與 微軟、 Digital 、 HP 、 IBM 、 Oracle…共同整合制訂: UML 軟體分析方法,被 OMG 協會認可,正式成為 主流的物件導向分析與設計的方法。

Page 18: Visual C# 2010  程式設計經典

1.2.2 程式設計方法傳統結構化程式設計技術在今日早已無法掌握日益複雜的軟體系統物件導向 (OO) 是近代軟體系統分析、規劃與 設計概念大突破,是大型軟體系統救世主。在 OO領域中,除先前所提到的 OOA 與 OOD物件導向設計外,一項與程式設計密不可份的技術就是 「物件導向程式設計」。OOP 是使用物件導向的概念來撰寫程式。

Page 19: Visual C# 2010  程式設計經典

1.2.3 軟體系統功能分層1. 展示 (Presentation)負責進行使用者介面的處理,包含資料的輸入與顯示、圖表的繪製…等與資料展現有關的工作。

2. 商業邏輯 (Business Logic)軟體系統中都包含許多邏輯處理,如銀行利率計算、轉帳、帳號與密碼檢查、資料的加密與解密…等等,這些工作都屬於商業邏輯層次工作範圍。

3. 資料來源 (Data Source)指的就是軟體系統中資料儲存的位置,如 Microsoft SQL Server 、 Oracle 、 Sybase 、 Access… 等資料庫,甚至是 XML 資料都可稱作是資料來源。

Page 20: Visual C# 2010  程式設計經典

1.2.4 軟體開發架構演進 以軟體系統的架構大致上可分以下幾個類型:

單機架構 (Stand Alone) 主從架構 (Client/Server) 三層次架構 (Three Tiers) 多層次架構 (N-Tiers) Windows DNA 2000 .NET

Page 21: Visual C# 2010  程式設計經典

一 . 單機架構 (Standalone) 在單機架構中,展示、商業邏輯與資料來源都位於同一個軟

體、同一部電腦上。 例如 dBase 、 Access 、 FoxPro… 等開發出來的單機應用程

式,由於整個系統不需要牽涉到與其它電腦或系統的整合,因此在設計上非常單純,在單機上的效率也不差,適合單人操作使用。

然而由於資料是位於軟體所在的電腦上,因此如果要進行不同電腦之間的資料交換,往往需要透過檔案複製來達成,非常的不方便。

假設銀行的系統是採用單機的架構所開發,那麼今天在台北某一分行存款 10,000元,這個存款資料只會存放在該洽辦行員所用的電腦上,必須將該筆新的存款資料拷貝到磁片上,然後複製到全省其它分行的所有行員所使用的電腦中,這樣才能在其它分行中也能看得到這筆新的存款資料,如果還要進行複雜的轉帳交易,那麼單機架構就明顯力有未殆了。

Page 22: Visual C# 2010  程式設計經典

一 . 單機架構 (Standalone)

Page 23: Visual C# 2010  程式設計經典

三 . 三層式架構 (3-Tiers)

Page 24: Visual C# 2010  程式設計經典

四 . 多層式架構 (N-Tiers)

Page 25: Visual C# 2010  程式設計經典

五 . Windows DNA 2000 微軟在實現 N-Tiers架構上,提供了Windows DNA (Distrib

uted interNet Architecture) 2000架構 ( 前身是 Windows DNA) ,在這個架構中,使用 COM+ (Component Object Model) 做為元件設計規格,配合 Windows 2000 上的元件服務 (Component Service) ,建構出多層次架構中所需要的商業邏輯元件,後端配合 Microsoft SQL Server ,前端可以使用 Windows 應用程式,或者使用 ASP 開發 Web 應用程式。

在這個架構中,足以整合所有以微軟為主的解決方案,但是對於非微軟的系統,例如 IBM 、 Java… 等等,就產生整合不易的缺點,原因在於 COM+ 透過 DCOM (Distributed COM) 通訊協定進行資料傳輸,再加上必須支援 COM+ 規格介面的存取才能呼叫 COM+ 元件,其它系統未必支援。

Page 26: Visual C# 2010  程式設計經典

六 . Web 服務 .NET 在分散式系統支援上,強調使用 XML (eXtensible

Markup Language) 做為傳輸的標準資料格式,並且使用 Internet 上標準的 HTTP 與 SOAP (Simple Object Access Protocol) 通訊協定來傳輸 XML 資料 ( 如下圖 ) ,因此幾乎所有可以連上 Internet 的系統都支援,十分適合用在異質系統的整合上。

Page 27: Visual C# 2010  程式設計經典

在元件規格上,使用標準的 Web 服務規格將元件 Web 化,Web 服務可以看做一種沒有使用者介面的網站,用來提供用戶端所需的商業邏輯服務,用戶端只需要支援 XML 、 HTTP 、 SOAP ,就可以和 Web 服務溝通,不限任何作業系統平台、程式語言、硬體設備,如下圖:

Page 28: Visual C# 2010  程式設計經典

七 . 雲端運算與三螢一雲 雲端運算 (Cloud computing) 是一種透過網際網路運算的新方

式,因為網際網路通常使用雲圖形來表示。用戶端的使用者不需要了解「雲端」中所使用的技術與設備,只需要關注用戶端需要的資源以及如何透過雲端運算由網路下載來取得所需要的服務。

「三螢」是指電腦螢幕、手機螢幕、電視螢幕;而「一雲」即是指雲端。

透過 Visual Studio 2010 將所有的技術共用、進行整合。微軟的 Widnows 視窗應用程式除了可運用在電腦上,也可以移植到手機或手持裝置上,更可以控制電視節目或微軟的 XBox 360遊戲機。因此微軟推出 Windows Azure 雲端運算服務,使用者不管是使用大螢幕或小螢幕,皆可透過網路連上雲端進行運算,即可取得所需要的服務。因此「三螢一雲」 (3 Screens and a Cloud) 是微軟未來的商業戰略,更是未來資訊科技的新面貌。

Page 29: Visual C# 2010  程式設計經典
Page 30: Visual C# 2010  程式設計經典

1.2.5 軟體平台 軟體需要有平台來開發與執行:

- 在 Windows 上使用 VB 開發視窗應用程式。- 在 IIS 上使用 ASP 開發 Web 應用程式。 - 在 Unix系統下用 C++ 開發系統程式。

Windows 、 IIS 與 Unix就 是所謂的軟體平台。 由於不同軟體平台的架構不同,在不同平台開發

軟體的方式 明顯不同。 程式設計師的程式開發經驗中有絕大部份是與所使用的作業系統、程式語言以及程式庫有關。 以往單機、主從式、多層次系統中還行得通。

Page 31: Visual C# 2010  程式設計經典

在網際網路時代 全世界所有各類型的軟體系統都悄悄連上 Internet 。 開發系統不再只是企業內部封閉的系統,甚至不 全都是使用同一種軟體平台來開發,

現今各公司無不想進辦法要 e 化 建立公司 的 ERP (Enterprise Resource Planning) 系統和以往企業中的 MRP (Material Requirement Planning)系統

不同的是傳統 MRP 系統主要在處理某一單純的 企業流程與資料,

Page 32: Visual C# 2010  程式設計經典

Windows 平台上的程式設計師為延續既有的 Windows 程式開發經驗與資源,只好繼續開發 Windows 平台上的程式。

軟體平台不再侷限於作業系統 現今 Internet 就是一個軟體平台

如何運用 Internet 上豐富軟體開發資源,使用 適當軟體開發工具,在 Internet 上開發出結合 各類型軟硬體的軟體系統, .NET 於是應運而生。

Page 33: Visual C# 2010  程式設計經典

MicroSoft .NET 的願景提供:

1. 未來生活的願景 2. 軟體開發平台 3. 超棒的使用者經驗

Page 34: Visual C# 2010  程式設計經典

1.4 .Net Framework

Page 35: Visual C# 2010  程式設計經典

CLR (Common Language Runtime )

是 .NET Framework 中最基本的部份。 包含程式碼的編譯、安全性控管、程式庫與執行

檔的快取等功能,都由 CLR 包辦。 下圖是程式在 CLR 中的編譯與執行的流程,也是

CLR 的架構圖。

Page 36: Visual C# 2010  程式設計經典
Page 37: Visual C# 2010  程式設計經典

1. 組件 (Assembly)

程式原始碼經過 IL (Intermediate Language) 編譯器編譯

產生副檔名為 exe 或 dll 的檔案,稱為「 組件」。 組件不能直接由 CPU 執行,因 IL 編譯器只是將原始 程式碼編譯成一個中間碼,稱為 MSIL 。 IL 必須再經過第二次編譯後才會產生真正可由 CPU 執行的執行檔,這點有些類似 Java , Java 原始程式 碼在經過編譯後會產生中間碼 *.class , 稱為 byte code 。

Page 38: Visual C# 2010  程式設計經典

byte code 類似 .NET 中的 Assembly ,是不能直接執行。

需再透過 Java 的虛擬機器 JVM 來解譯執行,也是一行一行翻譯成機器碼,然後由虛擬機器來執行。

在組件中除程式碼 IL 部份外,尚包含程式所需要相關資源 ,如:圖示、文字…等,除此之外在 Assembly

中還包含一份 Metadata 。

Page 39: Visual C# 2010  程式設計經典

Metadata ? 是用來描述該組件的資訊,如版本、 所需類別 程式庫…等。 只要一個組件就可包含所有需要的程式、資源 及自我描述資訊。 組件不需如 COM 元件一樣必須在系統登錄 也免除以往不同版本 COM 元件在 Registry 中 的註冊資訊衝突的問題。

Page 40: Visual C# 2010  程式設計經典

2. JIT 編譯器 (Just-In-Time Compiler)

組件不是可執行檔,執行前再進行第二次編譯 由 JIT 編譯器來負責。

當第一次執行某個組件時 組件載入器 會負責將組件載入。 檢查該組件是否有編譯權限及相關安全性。 交由 JIT 編譯器來進行編譯,將組件中的 IL 編譯 成真正的可執行機器碼 Native Code 。 如該組件引用其它類別程式庫,則由類別載入器 將所需類別程式庫一併載入編譯。

Page 41: Visual C# 2010  程式設計經典

3. Native Code Manager

編譯產生的 Native Code 交由 Native Code Manager 來管理。 Native Code Manager 會進行 Native Code 的快取,因此第二次再執行某個組件時,就直接執行快取中的 Native Code ,不用再經由 JIT 編譯器進行編譯。

第二次後的執行速度會非常快,這點和 Java 不同, Java 不論第幾次執行,都必須經 Java虛 擬機器一行一行 解譯執行。 速度上會慢很多 而 Native Code 就是 CPU 可執行的機器 碼,可直接由 CPU執行,不需任何解譯,執行速度會快很 多。

Page 42: Visual C# 2010  程式設計經典

4. 垃圾收集 (Garbage Collection)

程式執行要配置記憶體,使用完需將記憶體還給作業系統:

若未釋放記憶體,隨程式不斷執行,系統可用記憶體 愈來愈少。 記憶體不足而當機,程式設計師必須自行對記憶體的 使用多注意。

.NET 提供垃圾收集機制 只要沒用到記憶體, .NET Framework 適當時機將這些記憶體回收給其它需要的組件使用。 程式設計師對記憶體使用非常方便,要用時宣告一下, 不用時由 .NET Framework 自動回收,不會造成記憶體 漏失狀況。

Page 43: Visual C# 2010  程式設計經典

5. 例外管理員 (Exception Manager)

程式中出現如除以零、寫入磁片時磁碟機中找不到磁片狀況錯誤,就會產生例外 。

在不同程式語言或軟體平台上處理錯誤方式都不盡相同 VB 使用 On Error Goto C++ 使用 try … catch

Windows API 使用 HRESULT 傳回錯誤代碼… 在 .NET中

統一錯誤處理機制,不論使用那種程式語言,例外狀 況都由 Exception Manager 統一管理,在 C 函式中產 生的例外狀況可在 VB 程式中進行處理,完全做到跨語 言例外處理。

Page 44: Visual C# 2010  程式設計經典

6. 執行緒支援 (Thread Support)

在 .NET Framework 中直接支援多執行緒 (Multi-Threads) 程式的開發 包含執行緒的建立、使用、暫停、結束都可在不同語 言中獨立實作出來。

Page 45: Visual C# 2010  程式設計經典

7. COM元件整合 (COM Interop)

由於組件的執行環境與傳統 COM元件不同,因此如果組件中需要引用到一個 COM元件,就必須進行轉換,在 .NET 中使用 COM Interop 技術來達成這樣的目的,簡單來說, COM Interop做的只是使用一個 .NET 的類別將原本的 COM 元件包裝起來,讓組件誤以為所引用的是另一個組件,這項工作如果在 Visual Studio 2010 整合環境下做,就只需要直接將 COM元件自系統登錄中引用進來, Visual Studio 2010會自動幫我們做 COM Interop 。也就是說原本使用舊技術開發出來的 COM 元件,在 .NET Framework中可以繼續延用,並不會浪費原有的投資,另外新的組件也可以透過 COM+ 元件服務 (Component Service) 的機制,讓舊有的程式引用,如此新舊程式可以相互支援,各取所長。

Page 46: Visual C# 2010  程式設計經典

8.偵錯引擎 (Debug Engine)

透過 CLR 中的偵錯引擎,可在 .NET 平台上進行跨語言的程式偵錯。

也就是說專案中的各個子系統可用不同程式語言來撰寫。 統一透過 CLR 進行偵錯。 這樣大大節省專案偵錯與維護所需成本。

Page 47: Visual C# 2010  程式設計經典

1.4.2 基礎類別程式庫

在不同程式語言中除語言本身語法差異外,程式語言所引用的程式庫也大不相同

例如 Visual C++中的 MFC (Microsoft Foundation Class

Library) 、 ATL (Active Template Library) , Java

中的 AWT (Abstract Window Toolkit) 、 JFC (Java Found

ation Classes)… 等

在 .NET Framework 中為達到不同語言在程式庫上的統一,定義「基底類別程式庫 (Base Class Librar

y)」

Page 48: Visual C# 2010  程式設計經典

過去在不同程式語言中除了語言本身的語法差異外,程式語言引用的程式庫也不相同。

例如Visual C++中的 MFC ATL (Active Template Library)Java中的 AWT 、 JFC (Java Foundation Classes)

.NET Framework 為達到不同語言在程式庫上統一,定義「基底類別程式庫 (Base Class Library)」,讓這程式庫能廣泛包含開發各類型應用程式的需求

Page 49: Visual C# 2010  程式設計經典

.NET Framework 程式庫中包含數百個類別 內容含括 Windows 表單、控制項、 Web 應用程式中的狀態處理、快取、 XML 、 XSL 、 Socket… 等,幾乎所需基本功能都具備

整個程式庫是以類別方式存在,必要時還可運用一些物件導向機制 (例如繼承 ) 加以擴充修改,以便符合自己需要。

Page 50: Visual C# 2010  程式設計經典
Page 51: Visual C# 2010  程式設計經典

如果想引用其它程式庫,執行【專案 (P)/加入參考 (R)】開啟下圖「加入參考」視窗進行引用其它程式庫:

Page 52: Visual C# 2010  程式設計經典

1.4.3 ADO .NET 與 XML

ADO .NET 目前最新版本為 ADO .NET 4.0 。 ADO (ActiveX Data Object) 與 ADO .NET 主要差別,

在記憶體中處理資料的方式不同: ADO中使用記錄集 (Recordset) 來處理資料。 ADO .NET中則是使用 資料集 (DataSet) 。

一個 Recordset 通常只包含某個表格資料,如果要包含多個資料表資料,必須用 JOIN 或 UNION之類的 SQL 語法進行表格資料的結合。

Page 53: Visual C# 2010  程式設計經典

在 DataSet 中,資料表格可個別存放,表格間可透過 DataRelation 物件來建立表格的關聯性

包含一對多、多對多、甚至同一個表格自我關聯大大增加資料處理彈性。

再加上 DataSet 中所有資料都是離線式。 也就是資料是直接存放在應用程式的記憶體中。 可大幅度降低後端資料庫管理系統負擔。 特別適合用在 Web 資料庫應用程式開發上。

Page 54: Visual C# 2010  程式設計經典

DataSet 本身就是設計在 XML基礎上,在傳輸 DataSet 時,就是傳輸 XML 文件。

XML 資料就是單純文字格式,可輕鬆透過 HTTP在網路上傳輸。

ADO .NET 仍實作一個與 Recordset 類似資料操作方式,就是 DataReader 。

DataReader 類似一個唯讀、只能一筆一筆往下讀取的 Recordset ,如只要讀取資料庫中資料, DataReader 執行速度最快 。

Page 55: Visual C# 2010  程式設計經典
Page 56: Visual C# 2010  程式設計經典

1.4.4 Windows Form 、 WPF 、 Web Form 、 Silverlight

使用 Visual Studio 2010 可用相同的方式開發:

1. 傳統 Windows Form 應用程式2. 新一代WPF 視窗應用程式3. ASP .NET Web 應用程式4. Silverlight 應用程式5. Windows Phone 7 裝置應用程式

Page 57: Visual C# 2010  程式設計經典

1.4.5 共通語言的執行環境 要不同程式語言能夠在同一個軟體平台上合作無間可不是

一件簡單的事,光是資料型別 (Data Type) 一項就足以讓兩個程式語言無法互通訊息、難以整合。

因此在 .NET Framework中定義了一個共通的語言規格 (Common Language Specification, CLS) ,包含了函式呼叫方式、參數傳遞方式、資料型別、例外處理方式…等,只要符合這個規格的程式語言,就可以彼此共存共榮、相安無事,就好像大家不論是開那一種車,只要都遵守交通規則,就可以確保行車平安一樣。

因此只要是遵循 CLS 規格和只使用 CLS 中所含功能的程式語言所開發出來的元件,就被稱為 CLS 相容的元件,可以保證從任何其它支援 CLS 的程式語言都能夠存取這個元件。

Page 58: Visual C# 2010  程式設計經典

例如: System.String定義了字串型別,這些資料型別全部定義在 System這個名稱空間之下。

Page 59: Visual C# 2010  程式設計經典

1.4.6 程式語言 .NET 支援多種程式語言,就 .NET Framework

支援 Visual Basic 2008 、 Visual C++ 2008 、 J# 2008 、

C# 2008 四個程式語言。 C# 2008 是專門針對在 .NET Framework 上開發應用程式所設計的新程式語言: 就程式語法類似 C++ ,或更像 Java 。 有易用、彈性大特點。 擁有完整物件導向支援,在程式語法執行效率 比 VB 2008 快一點。 C# 2008 是 .NET 上欽定語言也不為過。