- C#從入門到精通(第2版)
- 龍馬高新教育策劃 國家863中部軟件孵化器編著
- 140字
- 2019-01-02 05:28:58
第1篇C#語言基礎
萬丈高樓平地起,打好基礎不費力!本篇是學習C#語言的基礎,學好本篇可以為學習C#奠定根基。通過對本篇的學習,您將了解C#的基礎知識、C#應用程序開發和運行平臺.NET Framework、集成開發環境Visual Studio 2013、異常處理與程序調試,以及面向對象的重要特征和基本概念等內容。下面將帶您步入C#的開發世界!
第1章 Hello C#—認識C#
本章視頻教學錄像:42分鐘
要想練就真功夫,必須苦練基本功。本章是學習C#語言的第1章,是讀者掌握C#這門語言的入門課。通過對本章的學習,讀者將初步了解C#語言的發展和新特性、C#語法知識、C#應用程序的運行平臺.NET Framework和開發工具Visual Studio 2013,以及如何使用幫助。
本章要點(已掌握的在方框中打鉤)
□ .NET框架
□ C# 5.0簡介
□ 集成開發環境Visual Studio 2013
1.1 C#程序的運行平臺——.NET框架
本節視頻教學錄像:11分鐘
C#是.NET平臺(.NET Framework)上的編程語言,用C#編寫的程序必須在.NET Framework上運行。學習C#,就必須理解.NET的運行機制,了解.NET框架。
1.1.1 .NET框架介紹
.NET Framework(框架)簡稱.NET,是微軟公司為開發應用程序創建的一個富有革命性的新平臺。.NET框架定義了.NET應用程序的開發和運行環境,包括可在.NET應用程序中使用的類庫,它類似于Java的虛擬機。開發人員可以在此平臺或環境下開發各種應用程序,就像火車必須在鐵軌上才能行駛一樣,用C#編寫的程序必須在.NET Framework上運行,所以首先要在計算機中安裝.NET Framework。
.NET Framework是支持生成和運行下一代應用程序與XML Web Services的內部Windows組件。.NET Framework旨在實現下列目標。
⑴ 提供一個一致的面向對象的編程環境,無論對象代碼是在本地存儲和執行,還是在本地執行但在Internet上分布,或者是在遠程執行。
⑵ 提供一個將軟件部署和版本控制沖突最小化的代碼執行環境。
⑶ 提供一個可提高代碼(包括由未知的或不完全受信任的第三方創建的代碼)執行安全性的代碼執行環境。
⑷ 提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。
⑸ 提供一個開發不同類型的應用程序(如基于Windows的應用程序和基于Web的應用程序)的一致方法。
⑹ 使用工業標準(XML)進行數據通信,確保基于 .NET Framework的代碼可與其他代碼集成。
.NET Framework有兩個主要組件:公共語言運行庫(CLR)和 .NET Framework類庫。公共語言運行庫是 .NET Framework的基礎,它提供內存管理、線程管理和遠程處理等核心服務,并強制實施嚴格的類型安全檢查來提高安全性和可靠性。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼則稱為非托管代碼。.NET Framework的另一個主要組件是類庫,它是一個綜合性的、面向對象的、可重用的類型集合,供開發者開發各種類型的應用程序。
1.1.2 .NET Framework 4.5的新增功能
.NET Framework 4.5在舊版本的基礎上進行了很多方面的改進,并增加了很多新的技術和功能。下面簡要介紹一下.NET Framework 4.5的部分新功能和改進。
1. 工具
在 .NET Framework 4.5中,利用資源文件生成器 (Resgen.exe),您可以從嵌入在 .NET Framework程序集中的 .resources文件中創建用于Windows應用商店應用的 .resw文件。利用托管配置優化(Mpgo.exe) 工具,可以通過優化本機映像程序集來改進應用程序的啟動時間、內存使用率(工作集大小)和吞吐量。該命令行工具會針對本機映像應用程序程序集生成配置文件數據。
2. 并行計算
.NET Framework 4.5提供了針對并行計算的多項新功能和改進功能,其中包括改進的性能、增強的控件、對異步編程的增強支持、新的數據流庫及對并行調試和性能分析的增強支持。
3. Web
ASP.NET 4.5和ASP.NET 4.5.1為Web窗體、WebSocket支持、異步處理程序、性能增強和許多其他功能添加了模型綁定。
4. 網絡
.NET Framework 4.5提供了一個用于HTTP應用程序的新的編程接口,還包含針對用于接受WebSocket連接并與之交互(通過使用現有HttpListener和相關類)的新編程接口的支持。此外,還新增和改進了對以下幾方面的支持:與RFC兼容的URI支持、對國際域名 (IDN) 分析的支持、對電子郵件地址國際化 (EAI) 的支持、改進對IPv6的支持、雙重模式套接字支持。
5. Windows Presentation Foundation (WPF)
在.NET Framework 4.5中,WPF主要包含以下方面的更改和改進:利用新的Ribbon控件,可以實現承載快速訪問工具欄、應用程序菜單和選項卡的功能區用戶界面;支持同步和異步數據驗證的新INotifyDataErrorInfo接口;針對靜態屬性的數據綁定、針對實現ICustomTypeProvider接口的自定義類型的數據綁定,以及從綁定表達式中檢索數據綁定信息;在值發生更改時重新定位數據(實時數據整理);能夠檢查項目容器的數據上下文是否已斷開連接;改進了對實現弱事件模式的支持,此外,事件現在可以接受標記擴展。
6. Windows Communication Foundation (WCF)
在.NET Framework 4.5中已添加以下功能,以便更輕松地編寫和維護WCF應用程序:簡化生成的配置文件;對協定優先開發的支持;能夠更輕松地配置ASP.NET兼容模式;對在代碼中配置服務的支持;二進制文件編碼器壓縮支持;對使用國際域名的WCF服務的支持等。
7. Windows Workflow Foundation (WF)
在.NET Framework 4.5中已將幾項新功能添加到WF中,包括:首次作為 .NET Framework 4.0.1的一部分引入的狀態機工作流;增強了工作流設計器功能;對C# 表達式的支持;協定優先工作流服務開發,為自動生成活動以匹配現有服務協定提供支持等。
1.1.3 C#程序的運行機制
為了實現多語言開發,.NET所支持語言編寫的代碼先編譯成微軟中間語言(Microsoft Intermediate Language,MSIL)代碼,再由即時編譯器(JIT)轉換成機器代碼,這種編譯方式實現了代碼托管,提高了程序的運行效率。C#程序編譯運行的簡單步驟是:C#程序編譯為中間語言代碼;C#編譯器生成程序集(*.exe或*.DLL文件);CLR執行程序集,生成本地代碼。如下圖所示。

1.2 C# 語言簡介
本節視頻教學錄像:6分鐘
本節介紹C#語言的發展歷史以及C# 5.0的新特性等內容。
1.2.1 C#的發展歷史
C#是一種強大的、面向對象的程序開發語言,是微軟公司專門用于.NET平臺的編程語言,它用于快速地編寫各種基于Microsoft .NET平臺的應用程序。C#和Java都是C和C++家族中的成員,具有C和C++語言的特征。C#入門容易,不像C/C++那樣難于學習。C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以更快地掌握C#。C#繼承了C和C++語法的同時參考了Java的優點,是微軟公司為了在Internet領域獲取更多的利益并和Java相抗衡,重點推出的一種.NET平臺的主流程序設計語言。
C#的發展歷史如下。
1998年12月,微軟公司提出.NET計劃后,開始開發.NET平臺上的面向對象程序的設計語言。
2000年2月,微軟公司正式將這種語言命名為C#。
據說起名為C#,是因為開發小組的人很討厭當時的搜索引擎,因此把大部分搜索引擎無法識別的“#”字符作為該語言名字的一部分;還有一種說法是因為音樂中“#”是升調記號,表達了微軟公司希望C#在C的基礎上更上一層樓的美好愿望。
2000年7月,微軟公司發布了C#語言的第1個預覽版。
2002年2月,微軟公司發布了.NET開發平臺Visual Studio.NET 2002和C#語言的第1個正式版本—— C# 1.0。
2003年4月,微軟公司推出了Visual Studio .NET 2003,同時也發布了.NET Framework 1.1和C# 語言規范1.2(C# 1.2)。
2005年10月27日,Visual Studio .NET 2005、.NET Framework 2.0和C# 語言規范2.0(C# 2.0)正式發布,在新的版本中提供了更多的類庫和使用功能。
2007年8月20日,繼.NET Framework 3.0發布后,C# 語言規范3.0(C# 3.0)發布。
2007年11月19日,微軟公司發布了Visual Studio .NET 2008和.NET Framework 3.5。
2010年4月12日,微軟發布了Visual Studio 2010及.NET Framework 4.0。
2012年9月12日,微軟在西雅圖發布了Visual Studio 2012,其最大的新特性莫過于對Windows 8 Metro開發的支持。
2013年11月13日,微軟發布了Visual Studio 2013。
1.2.2 C# 5.0的新特性
在當前的軟件開發行業中,C#已經成為主流的程序設計語言,可以和Java語言平分天下。C#作為一種全新的編程語言,可以實現大多數程序員所需要的功能,包括開發Windows窗體應用程序、Windows服務程序、Web應用程序、Web服務程序、WPF應用程序、WPF瀏覽器應用程序等。
C# 5.0是對C# 4.0的改進,百分之百向后兼容,也就是說用C# 5.0開發的程序可以在C# 4.0環境下運行。C# 5.0增加了許多新特性,有5個有代表的新特性,如下所述。
⑴ 帶參數的泛型構造函數。它的加入給一些設計增加了強大功能,泛型早在C# 2.0加入后就有著強大的應用,一般設計比較好的框架都會用到泛型,C# 5.0加入了帶參數泛型構造函數,在原有基礎上對C#泛型完善了很多。
⑵ 支持null類型運算。此功能特別是對有數據計算的這種null類型的支持,寫代碼方便了不少。雖然對于Nullable Types,在C# 2.0就加入進來了,但是不支持計算,例如,
01 Int x=null; 02 Int y=x+40;
那么y值是多少?不支持計算得到的是null,但在C# 5.0以后,40加一個null的整數,我們得到的結果是40。
⑶ case支持表達式。以前case里只能寫一個具體的常量,而現在可以加表達式了,靈活多了。
⑷ 擴展屬性。在C# 3.0里有擴展方法,C# 5.0里加入了擴展屬性的概念,對照擴展方法,不難理解擴展屬性的概念了。例如,
01 [Associate(string)] 02 public static int Zivsoft_ExtensionProperty{get;set;}
⑸ 異步處理。它如同C# 4.0加入dynamic概念一樣,C# 5.0通過加入了async和await這兩個關鍵字來簡化異步編程。
C# 5.0的新特性為編程帶來了更大的便利,有效地利用這些新特性可以編寫出更加簡潔的程序。
1.3 C#程序開發利器—集成開發環境Visual Studio 2013
本節視頻教學錄像:25分鐘
微軟公司推出集成的開發環境Visual Studio.NET(簡稱VS)用于快速開發.NET應用程序。隨著.NET平臺的逐步升級,VS的版本也在不斷提升,目前較新的版本是12.0版本,即Visual Studio 2013(簡稱VS 2013),它在2013年11月13日23:00正式發布,它支持.NET框架4.5。Visual Studio 2013可以用來創建高性能的Windows應用程序、移動應用程序、網絡應用程序、網絡服務、智能設備應用程序和Office插件等。
1.3.1 Visual Studio 2013的安裝
VS 2013使得開發人員編寫程序更容易、更靈活。它提供了高級開發工具、調試功能、數據庫功能和創新功能,用于在各種平臺上快速開發應用程序。任何規模的組織都可以使用VS 2013快速創建更安全、更易于管理且更可靠的應用程序。
要想使用VS 2013,首先要在計算機上進行安裝。如果有安裝光盤,直接安裝即可,也可以到微軟公司的網站下載后安裝(http://www.visualstudio.com/downloads/download-visual-studio-vs)。Visual Studio 2013安裝文件所占的存儲空間很大,大概有2.86GB,下載時間會比較長。下載下來的是光盤鏡像ISO文件,需要安裝虛擬光驅軟件(如Daemon Tools等)。
技巧
VS 2013安裝要求:支持Windows 8.1(x86和x64)、Windows 8(x86和x64)、Windows 7 SP1(x86和x64)、Windows Server 2012 R2 (x64)等操作系統;
硬件最低要求:1.6 GHz或更快的處理器、10 GB可用硬盤空間、1 GB RAM(如果在虛擬機上運行,則為1.5 GB)、5400 RPM硬盤、與DirectX 9 兼容的視頻卡,其顯示分辨率為1024 x 768 或更高。
提示
建議配置:2.2 GHz或速度更快的CPU、2048 MB或更大容量的RAM、1280×1024顯示器、7200 RPM或更高轉速的硬盤;
在Windows 7上安裝硬件的最低要求為:2.4 GHz CPU、1024 MB RAM。
下面以專業版為例,介紹安裝Visual Studio 2013的過程。
⑴ 將Visual Studio 2013安裝盤放入光驅,將出現安裝畫面。

⑵ 勾選“我同意許可條款和隱私策略”選項,單擊“下一步”按鈕和“安裝”按鈕。

⑶ 等待安裝完成,此過程可能會需要半小時。具體時間當然要根據你的電腦配置情況而定。

⑷ 安裝成功后,單擊“啟動”按鈕,出現登錄界面,詢問是否需要注冊登錄Visual Studio,不登錄的話,選擇“以后再說”進入下一步。

⑸ 選擇開發環境,這里選擇C#,顏色主題有三種選擇,依自己喜好選擇。

技巧
安裝VS 2013時建議關閉殺毒軟件,因為殺毒軟件可能會阻止向計算機安裝部分文件而導致安裝失敗。
1.3.2 Visual Studio 2013集成開發環境
Visual Studio 2013為開發人員提供了許多開發工具,可以顯著地提高開發人員的工作效率。Visual Studio 2013集成開發環境 (IDE)由菜單欄、工具欄、編輯器,以及停靠或自動隱藏在左側、右側和底部的各種工具窗口組成。可用的工具窗口、菜單和工具欄根據所處理的項目或文件類型及隨后執行的自定義配置,在IDE中的布局會有所不同。下面介紹Visual Studio 2013 IDE的各個組成部分。
1. 起始頁
起始頁上面有開始、最近、Visual Studio 2013新增功能和Microsoft平臺新增功能介紹等選項。

在“開始”區域可以新建項目和打開已有的項目。“最近”區域包含了最近打開過的項目的鏈接。Visual Studio 2013和Microsoft平臺新增功能選項的下面有相關的鏈接,單擊鏈接就可以查看新增功能的介紹。產品視頻和公告選項是微軟為最新產品發布的視頻介紹和微軟有關Visual Studio最新動態的公告。
2. 菜單欄
菜單欄和Office Word等程序的菜單欄類似,位于標題欄的下方,如下圖所示。

Visual Studio 2013的菜單欄由【文件】、【編輯】、【視圖】、【調試】、【團隊】、【工具】、【測試】、【體系結構】、【分析】、【窗口】和【幫助】多個菜單組成,每個菜單都有一組命令,選擇這些命令就可以完成相應的功能。
3. 工具欄
菜單欄下方是工具欄,用戶除了通過使用菜單欄進行操作外,一些常規的操作還可以通過工具欄進行,工具欄比菜單欄更方便、快捷。熟悉常用工具欄的使用能提高開發的效率。

提示
將鼠標指針移動到工具欄的按鈕上停留一會兒,將顯示出該按鈕功能的提示。單擊菜單欄上的【視圖】菜單中的【工具欄】,將出現工具欄的級聯菜單,單擊所需的命令,此工具欄立刻就會出現在屏幕上,同時在其名稱的前面會出現一個【√】。
4. 工具箱
工具箱中列出了許多常用控件,用于設計程序的界面。所謂控件就是窗體中相對獨立的部分,例如,常見的一些命令按鈕、標簽、文本框等都屬于控件。Visual Studio 2013提供的控件分別放在【所有Windows窗體】、【公共控件】、【容器】、【菜單和工具欄】、【數據】、【組件】、【打印】、【對話框】、【WPF互操作性】、【報表】和【常規】選項卡里面。對這些選項卡也可以重命名或者刪除,還可以添加選項卡。在任意一個選項卡中單擊鼠標右鍵,將會彈出相應的快捷菜單,從中選擇【全部顯示】命令,會顯示出所有的工具箱選項卡。需要注意的是,項目類型不一樣,工具箱的選項卡顯示也會有所不同。

5. 解決方案資源管理器
項目是一個獨立的編程單位,通常包括一個或幾個程序文件,若干個相關項目組成一個解決方案。解決方案資源管理器(Solution Explorer)以樹狀結構顯示整個解決方案中所包括的項目及每個項目的組成部分等信息。雙擊解決方案中的文件,就可以在編輯環境中顯示這個文件并且可以編輯它。

解決方案資源管理器在系統中被保存為一個完整的文檔,默認擴展名是.sln。一個解決方案可以包含多個項目,便于組織和管理項目,項目類型可以不同,如Windows應用項目、Web項目等。每個項目的文件擴展名是.csproj。雙擊.sln或.csproj文件都可以自動打開Visual Studio 2013,并打開解決方案及其中的項目。
6. 屬性窗口
屬性窗口用來顯示項目、窗體、控件、數據源等所有可視資源的屬性,如控件的大小、顏色及位置等,在屬性窗口底部有所選屬性的簡單說明。通過屬性窗口能可視化地修改控件的屬性,不必編寫代碼。屬性窗口頂部是一個下拉列表,單擊它可顯示所用控件的名稱。這個下拉列表稱為“組件選擇框”,它顯示的名字就是當前控件的名稱,列表里的內容就是當前控件的屬性。

7. 類視圖
類視圖按照樹狀結構列出了解決方案所包含項目中的每個類及類中包含的成員,以便于在大型項目中快速定位某個類。
8. 設計視圖和代碼視圖
設計視圖(也稱窗體窗口)是用來設計程序界面的場所,可以從工具箱中拖放一些控件到設計視圖中,然后根據設計需要進行控件的布局。
代碼視圖(也稱代碼窗口、編輯窗口)是輸入程序代碼的窗口。可通過多種方法打開代碼視圖:雙擊設計視圖中的控件或窗體;選擇【視圖】菜單中的【代碼】命令;在【解決方案資源管理器】中雙擊擴展名為.cs的文件。

9. 服務器資源管理器
服務器資源管理器用于開發人員對有權限操作的計算機上的資源進行訪問和操作,可用來創建連接服務器對象,操縱服務器上的數據庫。

10. 動態幫助窗口
在編寫程序的過程中,系統會根據當前的工作設置動態幫助窗口的內容。動態幫助窗口給編程提供了很大的方便,程序員不必在遇到問題時按【F1】鍵,只需要看一看動態幫助窗口,選擇合適的鏈接并單擊,就可以找到需要的內容。要使用動態幫助,需要安裝MSDN,否則動態幫助為空。
1.4 高手點撥
本節視頻教學錄像:2分鐘
Visual Studio 2013、.NET Framework 4.5、C#三者之間是怎樣的關系?
C#是眾多編程語言中的一種,也就是說它是眾多基于.NET Framework的編程語言中的一種。
.NET Framework 4.5是Microsoft開發各種語言程序的平臺,其中包含豐富的類庫。C#、VB.net等編程語言編寫的程序就是在這個平臺上運行的。
Visual Studio 2013是很多種語言開發的集成開發環境,程序開發者都是在這個環境下編寫C#、C++等程序代碼的。
我們在安裝Visual Studio的過程中會附帶安裝.NET Framework,在這個過程中還可以選擇把C#、C++等開發語言都安裝上。
1.5 實戰練習
思考題
1.使用Visual Studio能開發什么類型的項目?
2. C#語言有哪些優點?