- C# 從入門到項目實踐(超值版)
- 聚慕課教育研發中心
- 187字
- 2019-12-20 11:19:07
第1章
步入C#編程世界——Hello C#
學習指引
C#是一個簡單的、現代的、通用的和面向對象的編程語言,它是由微軟公司開發的運行于.NET Framework之上的高級程序設計語言。C#在繼承C和C++強大功能的同時,去掉了一些復雜特性。本章將詳細介紹C#語言的發展歷史,并且通過圖文并茂的形式介紹安裝與卸載Visual Studio 2017開發環境的全過程。
重點導讀
- 熟悉C#語言。
- 熟悉.NET Framework。
- 熟悉C#程序的開發工具。
- 掌握編寫C#程序。
- 掌握代碼的輸入與輸出。
1.1 認識C#語言
C#讀作C Sharp,是微軟公司設計的一種編程語言,是在C和C++的基礎上開發出來的一種簡單、面向對象和類型安全的編程語言,并且能夠與.NET Framework完美結合。
1.1.1 C#的發展史

C#最初有個酷炫的名字,叫做COOL。微軟從1998年12月開始了COOL項目,直到2000年2月,COOL被正式更名為C#,主要是由安德斯·海爾斯伯格(Anders Hejlsberg)主持開發。C#是第一個面向組件的編程語言,其源碼首先會編譯成MSIL(Microsoft Intermediate Language,微軟中間語言)再運行。
1. C# 1.0是純粹面向對象的
2003年5月,微軟推出了Visual Studio .NET 2003,同時也發布了C# 1.0的改進版本。這一時期的C#提出了面向對象的編程概念。C++并非純粹面向對象,為了和C兼容以及提供更高的執行效率,該版本保留了很多模塊化的東西。
2. C# 2.0提出泛型編程的新概念
2005年11月,微軟推出了Visual Studio 2005,對應的是C# 2.0,該版本提出了泛型編程的新概念。泛型思想已經是一種很成熟的編程思想,但是依然沒有哪一種主流的開發語言,能夠支持完備的泛型編程。這主要是因為泛型思想與面向對象有部分沖突,同時由于在編譯期間對類型參數的完全檢測很難做到,很多問題會被遺留到運行時。C# 2.0獨出心裁地對泛型類型參數提出了約束的新概念,并以優雅的語法體現在語言之中。有了約束,結合編譯器強大的類型推斷能力,可以在編譯時發現幾乎所有“危險”的泛型應用。
3. C# 3.0增加了語言集成查詢技術
C# 3.0版和Visual Studio 2008一起發布于2007年下半年,但完整的語言功能是在C# 3.5版中發布的。該版本的新特性包括自動屬性、推斷類型、匿名類、擴展方法、對象初始化器、集合初始化器、Lambda表達式和LINQ。
LINQ(Language Integrated Query,語言集成查詢)是一組用于C#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以操作內存數據的方式,查詢數據庫。該版本標示著C#發展過程中的重大改變,C#成為真正強大的編程語言。
4. C# 4.0增加了動態語言的特性
2010年4月發布了C# 4.0,運行于Visual Studio 2010。該版本延續了不斷提高易用性的趨勢,大大簡化了許多常見任務,包括泛型類型、傳統的互操作以及處理動態對象模型。C# 4.0的動態語言特性,在JavaScript和Python中都可以看到它的影子。從另一個角度來說,這些特性也都是為了提高程序員的工作效率。
5. C# 5.0的新增特性
2012年8月,C# 5.0隨著Visual Studio 2012一起正式發布。它作為第5個C#的重要版本,通過新增的async和await關鍵字,引入了一種新的基于任務的異步編程模型。在這種方式下,可以通過類似同步方式編寫異步代碼,極大地簡化了異步編程模型。
6. C# 6.0對語法進行改進
2015年7月,C# 6.0在Visual Studio 2015中引入。該版本更多地關注了語法的改進,而不是增加新的功能。這些新的語法將有助于用戶更好更方便地編寫代碼。
7. C# 7.0促使專注于數據消費,簡化代碼和性能
2017年3月,伴隨Visual Studio 2017的發布,C# 7.0開始正式走上工作崗位。對于早已熟悉了舊版本C#的開發者來說,C# 7.0增加的不少新特性和語法能在很大程度上提升編程效率并降低出錯率。
1.1.2 C#的特點

C#語言繼承了C語言的語法風格,同時又繼承了C++面向對象的特性。不同的是,C#的對象模型已經面向Internet進行了重新設計,使用的是.NET框架的類庫。該語言的主要特點如圖1-1所示。

圖1-1 C#的特點
1. 語法簡潔
C#語言的語法是非常簡單的,而且相對于C++來說,它不再提供對指針類型的支持,使得程序不能隨便訪問內存地址。
2. 面向對象設計
面向對象的特點主要是封裝、繼承和多態,而這三個特點在C#中得到了完全的體現。
3. 與Web緊密結合
用戶在使用C#語言時,可以開發出與Web相關的應用,最常見的就是ASP.NET網站。
4. 安全性機制
C#語言安全性機制非常好,因為是通過.NET框架運行的,所以不直接操作內存。
5. 錯誤異常處理機制
C#語言有完善的錯誤處理機制,在使用C#進行開發時,用戶可以使用try…catch異常處理機制來處理相應的代碼。
6. 兼容性高
C#語言的兼容性也非常高,因為它是由微軟推出的,所以對于微軟的各個操作系統都是支持的。
1.1.3 C#典型行業應用

C#是唯一一種在Windows下能給出全套解決方案的編程語言。也就是說,從內核到中間組件再到外殼界面全部都能夠用C#來完成,不用尋求其他編程語言的幫助。
1. 開發普通軟件
在用戶計算機上運行的各種程序都是軟件。不論是聊天所使用的QQ、上網所使用的瀏覽器,還是操作系統,它們都是軟件。而這些軟件大部分都可以使用C#程序開發。
2. 開發網站
現在網站開發的主流技術有三種,分別為ASP.NET、Java Web和PHP。而其中的ASP.NET是微軟推出的網站開發技術。該技術支持微軟的各種語言,尤其是C#語言。
3. 開發游戲
據不完全數據統計,C#在服務器端開發、數字圖像處理、網絡軟件、移動設備等領域中都是可以被用到的。對于用戶平常接觸的游戲而言,目前很多大型游戲客戶端都是基于C#開發的。隨著社會的進步和科學技術的發展,計算機技術也慢慢地走進人們的生活,編程成為網絡技術人員不可或缺的技能之一。
- Learning C# by Developing Games with Unity 2020
- Learning Selenium Testing Tools with Python
- 區塊鏈:以太坊DApp開發實戰
- Mastering Linux Network Administration
- 自制編程語言
- 飛槳PaddlePaddle深度學習實戰
- 深入理解Android:Wi-Fi、NFC和GPS卷
- 從Java到Web程序設計教程
- Java面向對象程序設計
- 微服務架構深度解析:原理、實踐與進階
- ASP.NET程序開發范例寶典
- Android應用開發深入學習實錄
- 石墨烯改性塑料
- Hacking Android
- Oracle Database XE 11gR2 Jump Start Guide