官术网_书友最值得收藏!

1.2 C#的含義

如上所述,C#是可用于創建要運行在.NET CLR上的應用程序的語言之一,它從C和C++語言演化而來,是Microsoft專門為使用.NET平臺而創建的。C#吸取了以往語言失敗的教訓,考慮了其他語言的許多優點,并解決了它們存在的問題。

使用C#開發應用程序比使用C++簡單,因為其語法更簡單。但是,C#是一種強大的語言,在C++中能完成的任務幾乎都能利用C#完成。雖然如此,C#中與C++高級功能等價的功能(例如直接訪問和處理系統內存),只能在標記為“unsafe”的代碼中使用。顧名思義,這個高級編程技術存在潛在威脅,因為它可能覆蓋系統中重要的內存塊,導致嚴重后果。因此,本書不討論這個問題。

C#代碼常比C++略長一些。這是因為C#是一種類型安全的語言(與C++不同)。在外行人看來,這表示一旦為某個數據指定了類型,就不能轉換為另一個不相關的類型。所以,在類型之間轉換時,必須遵守嚴格的規則。執行相同的任務時,用C#編寫的代碼通常比用C++編寫的代碼長。但C#代碼更健壯,調試起來也比較簡單,.NET始終可以隨時跟蹤數據的類型。在C#中,不能完成諸如“把4字節的內存分配給這個數據后,我們使其有10個字節長,并把它解釋為X”等任務,但這并不是一件壞事。

C#只是用于.NET開發的一種語言,但它是最好的一種語言。C#的優點是,它是唯一徹頭徹尾為.NET Framework設計的語言,是在移植到其他操作系統上的.NET版本中使用的主要語言。要使諸如VB.NET的語言盡可能類似于其以前的語言,且仍遵循CLR,就不能完全支持.NET代碼庫的某些功能,至少需要不常見的語法。

但C#能使用.NET Framework代碼庫提供的每種功能。而且,.NET的每個新版本都在C#語言中添加了新功能,滿足了開發人員的要求,使之更強大。

1.2.1 用C#能編寫什么樣的應用程序

如前所述,.NET Framework沒有限制應用程序的類型。C#使用的是.NET Framework,所以也沒有限制應用程序的類型。這里僅討論幾種常見的應用程序類型。

桌面應用程序 這些應用程序(如Microsoft Office)具有我們很熟悉的Windows外觀和操作方式,使用.NET Framework的Windows Presentation Foundation(WPF)模塊就可以簡便地生成這種應用程序。WPF模塊是一個控件庫,其中的控件(例如按鈕、工具欄和菜單等)可用于建立Windows用戶界面(UI)。

Windows Store應用程序 這是Windows 8引入的一類新的應用程序。此類應用程序主要針對觸摸設備設計,通常全屏運行,側重點在于簡潔清晰。創建這類應用程序的方式有多種,包括使用WPF。

云/Web應用程序 .NET Framework包括一個動態生成Web內容的強大系統—— ASP.NET,允許進行個性化和實現安全性等。另外,這些應用程序可以在云中駐留和訪問,例如Microsoft Azure平臺。

Web API 這是建立REST風格的HTTP服務的理想框架,支持許多客戶端,包括移動設備和瀏覽器。

WCF服務 這是一種靈活創建各種分布式應用程序的方式。使用WCF服務可以通過局域網或Internet交換幾乎各種數據。無論使用什么語言創建WCF服務,也無論WCF服務駐留在什么系統上,都使用一樣簡單的語法。

這些類型的應用程序也可能需要某種形式的數據庫訪問,這可以通過.NET Framework的Active Data Objects .NET(ADO.NET)部分、ADO.NET Entity Framework或C#的LINQ(Language Integrated Query)功能來實現。也可以使用許多其他資源,例如,創建聯網組件、輸出圖形、執行復雜數學任務的工具。

1.2.2 本書中的C#

本書第Ⅰ部分介紹C# 語言的語法和用法,但不過分強調.NET Framework。這是必需的,因為我們不能沒有一點兒C# 編程基礎就使用.NET Framework。首先介紹一些比較簡單的內容,把較復雜的面向對象編程(Object-Oriented Programming, OOP)主題放在基礎知識的后面論述。假定讀者沒有一點兒編程的知識,這些是首要原則。

學習了基礎知識后,本書還將介紹如何開發更復雜、更有用的應用程序。本書第Ⅱ部分將研究基于云的Web應用程序編程,第Ⅲ部分將講述數據訪問(對ORM數據庫、文件系統和XML數據的訪問)和LINQ,第Ⅳ部分將詳細討論桌面和Windows Store應用程序編程。

主站蜘蛛池模板: 武邑县| 来宾市| 长春市| 宁强县| 怀化市| 疏附县| 中西区| 准格尔旗| 兰溪市| 临漳县| 迁安市| 霍城县| 湟中县| 威远县| 濮阳市| 临安市| 德令哈市| 犍为县| 固镇县| 旬阳县| 苏州市| 广南县| 象山县| 泸州市| 贡嘎县| 临朐县| 墨玉县| 耒阳市| 陇南市| 二连浩特市| 广南县| 芷江| 金门县| 阳西县| 犍为县| 噶尔县| 灵武市| 馆陶县| 车险| 霍城县| 海兴县|