C#本質(zhì)論

出版時間:2008-7  出版社:人民郵電出版社  作者:米凱利斯  頁數(shù):498  譯者:周靖  
Tag標簽:無  

內(nèi)容概要

  本書是一本清晰、簡明的C#教程,涵蓋了C# 2.0。書中對C#語言的每個重要結(jié)構(gòu)都用簡短的示例代碼進行說明,并且和其他語言進行了全方位比較。每章開頭的“思維導(dǎo)圖”指明了本章要討論的主題以及每個主題同整體的關(guān)系。全書由18章和3個附錄組成。在簡單介紹了C#之后,重點討論了C#的數(shù)據(jù)類型、運算符、方法、類等基本概念,隨后還對泛型、迭代器、反射、線程、互操作性等高級主題進行了深入而透徹的討論。  本書適用于對C#感興趣的各種層次的讀者,無論是初學(xué)者還是高級編程人員,都能從本書中獲益。

作者簡介

  Mark Michaelis,微軟Visual Studio MVP,現(xiàn)任Itron公司企業(yè)架構(gòu)師,并在著名顧問公司Pluralsight擔(dān)任導(dǎo)師。他是廣受尊敬的資深C#專家,曾經(jīng)受邀擔(dān)任C#和VSTS等多個微軟產(chǎn)品的軟件設(shè)計審查顧問。除本書外,他還與Herbert Schildt合寫過COM+方面的著作。

書籍目錄

第1章 C#概述1.1 Hello, World1.1.1 應(yīng)用程序的編譯和運行1.1.2 托管執(zhí)行和公共語言基礎(chǔ)結(jié)構(gòu)1.2 C#語法基礎(chǔ)1.2.1 C#關(guān)鍵字1.2.2 類型定義1.2.3 Main1.2.4 語句和語句分隔符1.2.5 空白1.3 使用變量1.3.1 數(shù)據(jù)類型1.3.2 變量的聲明1.3.3 變量的賦值1.3.4 變量的使用1.4 控制臺輸入和輸出1.4.1 從控制臺獲取輸入1.4.2 將輸出寫入控制臺1.5 注釋1.6 CIL和ILDASM1.7 小結(jié)第2章 數(shù)據(jù)類型2.1 基本數(shù)值類型2.1.1 整數(shù)類型2.1.2 浮點類型2.1.3 decimal類型2.1.4 字面值2.2 更多基本類型2.2.1 布爾類型2.2.2 字符類型2.2.3 字符串2.3 null和void2.3.1 null2.3.2 void2.4 類型的分類2.4.1 值類型2.4.2 引用類型2.5 可空修飾符2.6 數(shù)據(jù)類型之間的轉(zhuǎn)換2.6.1 顯式轉(zhuǎn)型2.6.2 隱式轉(zhuǎn)型2.6.3 不進行轉(zhuǎn)型的類型轉(zhuǎn)換2.7 數(shù)組2.7.1 數(shù)組的聲明2.7.2 數(shù)組的實例化和賦值2.7.3 數(shù)組的使用2.7.4 字符串作為數(shù)組使用2.7.5 常見錯誤2.8 小結(jié)第3章 運算符和控制流3.1 運算符3.1.1 一元運算符正和負3.1.2 二元算術(shù)運算符3.1.3 圓括號運算符3.1.4 賦值運算符3.1.5 遞增和遞減運算符3.1.6 常量表達式3.2 流控制概述3.2.1 if語句3.2.2 嵌套if3.3 代碼塊3.4 作用域3.5 布爾表達式3.5.1 關(guān)系運算符和相等性運算符3.5.2 邏輯布爾運算符3.5.3 邏輯求反運算符3.5.4 條件運算符3.6 按位運算符3.6.1 移位運算符3.6.2 按位運算符3.6.3 按位賦值運算符3.6.4 按位取反運算符3.7 控制流語句3.7.1 while和do/while循環(huán)3.7.2 for循環(huán)3.7.3 foreach循環(huán)3.7.4 switch語句3.8 跳轉(zhuǎn)語句3.8.1 break語句3.8.2 continue語句3.8.3 goto語句3.9 C#預(yù)處理器指令3.9.1 排除和包含代碼3.9.2 定義預(yù)處理器符號3.9.3 生成錯誤和警告3.9.4 關(guān)閉警告消息3.9.5 nowarn:選項3.9.6 指定行號3.9.7 可視編輯器提示3.10 小結(jié)第4章 方法和參數(shù)4.1 方法的調(diào)用4.1.1 命名空間4.1.2 類型名稱4.1.3 作用域4.1.4 方法名稱4.1.5 參數(shù)4.1.6 方法返回值4.1.7 語句與方法調(diào)用的比較4.2 方法的聲明4.2.1 參數(shù)聲明4.2.2 方法返回值聲明4.3 using指令4.4 Main()的返回值和參數(shù)4.5 參數(shù)4.5.1 值參數(shù)4.5.2 引用參數(shù)(ref)4.5.3 輸出參數(shù)(out)4.5.4 參數(shù)數(shù)組(params)4.6 遞歸4.7 方法重載4.8 用異常實現(xiàn)基本錯誤處理4.8.1 捕捉錯誤4.8.2 使用throw語句報告錯誤4.9 小結(jié)第5章 類5.1 類的定義和實例化5.2 實例字段5.2.1 實例字段的聲明5.2.2 實例字段的訪問5.3 實例方法5.4 使用this關(guān)鍵字5.5 訪問修飾符5.6 構(gòu)造器5.6.1 構(gòu)造器的聲明5.6.2 默認構(gòu)造器5.6.3 構(gòu)造器的重載5.6.4 使用this調(diào)用另一個構(gòu)造器5.7 靜態(tài)5.7.1 靜態(tài)字段5.7.2 靜態(tài)方法5.7.3 靜態(tài)構(gòu)造器5.7.4 靜態(tài)類5.8 const和readonly修飾符5.8.1 const5.8.2 readonly5.9 屬性5.9.1 屬性的聲明5.9.2 命名規(guī)范5.9.3 靜態(tài)屬性5.9.4 提供屬性驗證5.9.5 只讀和只寫屬性5.9.6 為getter和setter指定訪問修飾符5.9.7 屬性作為虛字段使用5.9.8 屬性和方法調(diào)用不允許作為ref或out參數(shù)值使用5.10 嵌套類5.11 分部類5.12 小結(jié)第6章 繼承6.1 派生6.1.1 基類型和派生類型之間的轉(zhuǎn)型6.1.2 對參數(shù)“協(xié)變”和“逆變”的支持6.1.3 private訪問修飾符6.1.4 protected訪問修飾符6.1.5 單一繼承6.1.6 密封類6.2 基類的重寫6.2.1 virtual修飾符6.2.2 new修飾符6.2.3 sealed修飾符6.2.4 base成員6.2.5 構(gòu)造器6.3 抽象類6.4 一切最終都從System.Object派生6.5 使用is運算符驗證基礎(chǔ)類型6.6 使用as運算符進行轉(zhuǎn)換6.7 小結(jié)第7章 接口7.1 接口概述7.2 通過接口來實現(xiàn)多態(tài)性7.3 接口實現(xiàn)7.3.1 顯式成員實現(xiàn)7.3.2 隱式成員實現(xiàn)7.3.3 顯式接口實現(xiàn)與隱式接口實現(xiàn)的比較7.4 “實現(xiàn)類”與其接口之間的轉(zhuǎn)型7.5 接口繼承7.6 多接口繼承7.7 通過接口來實現(xiàn)多重繼承7.8 版本控制7.9 接口與類的比較7.10 小結(jié)第8章 值類型8.1 結(jié)構(gòu)8.1.1 struct的初始化8.1.2 default運算符的使用8.1.3 值類型的繼承和接口8.2 裝箱8.3 枚舉8.3.1 枚舉之間的類型兼容性8.3.2 枚舉和字符串之間的轉(zhuǎn)換8.3.3 枚舉作為標志使用8.4 小結(jié)第9章 合式類型9.1 重寫object的成員9.1.1 重寫ToString()9.1.2 重寫GetHashCode()9.1.3 重寫Equals()9.1.4 相等性實現(xiàn)的指導(dǎo)原則9.2 運算符重載9.2.1 比較運算符9.2.2 二元運算符9.2.3 賦值與二元運算符的結(jié)合9.2.4 條件邏輯運算符9.2.5 一元運算符9.2.6 轉(zhuǎn)換運算符9.2.7 轉(zhuǎn)換運算符的指導(dǎo)原則9.3 引用其他程序集9.3.1 更改程序集目標9.3.2 類型封裝9.3.3 引用程序集9.4 定義命名空間9.5 XML注釋9.5.1 將XML注釋與代碼構(gòu)造關(guān)聯(lián)到一起9.5.2 生成XML文檔文件9.6 垃圾回收9.7 資源清理9.7.1 終結(jié)器9.7.2 使用using語句進行確定性終結(jié)9.7.3 垃圾回收和終結(jié)9.7.4 資源利用和終結(jié)的指導(dǎo)原則9.8 小結(jié)第10章 異常處理10.1 多異常類型10.2 捕捉異常10.3 常規(guī)catch塊10.4 異常處理的指導(dǎo)原則10.5 定義自定義異常10.6 小結(jié)第11章 泛型11.1 如果C#沒有泛型11.2 泛型類型概述11.2.1 泛型類的使用11.2.2 簡單泛型類的定義11.2.3 泛型的優(yōu)點11.2.4 類型參數(shù)命名的指導(dǎo)原則11.2.5 泛型接口和struct11.2.6 構(gòu)造器和終結(jié)器的定義11.2.7 默認值的指定11.2.8 多個類型參數(shù)11.2.9 嵌套泛型類型11.2.10 “類型參數(shù)”兼容的泛型類之間的類型兼容性11.3 約束11.3.1 接口約束11.3.2 基類約束11.3.3 struct/class約束11.3.4 多個約束11.3.5 構(gòu)造器約束11.3.6 約束繼承11.4 泛型方法11.4.1 類型推斷11.4.2 約束的指定11.5 泛型的內(nèi)部機制11.5.1 基于值類型的泛型的實例化11.5.2 基于引用類型的泛型的實例化11.6 小結(jié)第12章 集合12.1 主要集合類12.1.1 列表集合:List和ArrayList12.1.2 字典集合:Dictionary和Hashtable12.1.3 已排序集合:SortedDic-tionary和SortedList12.1.4 棧集合:Stack和Stack12.1.5 隊列集合:Queue和Queue12.1.6 鏈表:LinkedList12.2 集合類接口概述12.2.1 IList和IDictionary12.2.2 IComparable12.2.3 ICollection12.2.4 使用foreach循環(huán)來迭代12.3 提供一個索引運算符12.4 返回Null或者空集合12.5 迭代器12.5.1 迭代器的定義12.5.2 迭代器語法12.5.3 從迭代器yield值12.5.4 迭代器和狀態(tài)12.5.5 更多的迭代器例子12.5.6 將yield return語句放到循環(huán)中12.5.7 取消更多的迭代:yield break12.5.8 在單個類中創(chuàng)建多個迭代器12.5.9 yield語句的特征12.6 小結(jié)第13章 委托和事件13.1 方法指針13.1.1 定義場景13.1.2 委托數(shù)據(jù)類型13.1.3 委托的內(nèi)部機制13.1.4 委托類型的定義13.1.5 委托的實例化13.1.6 匿名方法13.1.7 外部變量13.2 multicast委托和Observer模式13.2.1 使用委托來編寫Observer模式13.2.2 順序調(diào)用13.3 事件13.3.1 事件的作用13.3.2 事件的聲明13.3.3 編程規(guī)范13.3.4 泛型和委托13.3.5 自定義事件的實現(xiàn)13.4 小結(jié)第14章 反射和attribute14.1 反射14.1.1 使用System.Type訪問元數(shù)據(jù)14.1.2 成員調(diào)用14.1.3 泛型類型上的反射14.2 attribute14.2.1 自定義attribute14.2.2 查找attribute14.2.3 使用構(gòu)造器來初始化attribute14.2.4 System.AttributeUsage-Attribute14.2.5 具名參數(shù)14.3 小結(jié)第15章 多線程處理15.1 獨立線程的運行和控制15.1.1 線程的啟動15.1.2 線程管理15.2 向線程傳遞參數(shù)15.3 線程池處理15.4 未處理的異常15.5 同步15.5.1 使用Monitor來同步15.5.2 使用lock關(guān)鍵字15.5.3 lock對象的選擇15.5.4 為什么要避免在this和typeof(type)上鎖定15.5.5 將字段聲明為volatile15.5.6 使用System.Threading.Interlocked類15.5.7 多個線程時的事件通知15.5.8 同步設(shè)計最佳實踐15.5.9 更多的同步類型15.6 計時器15.7 小結(jié)第16章 多線程處理模式16.1 Asynchronous Results模式16.1.1 Asynchronous Results模式概述16.1.2 向輪換線程傳入數(shù)據(jù)以及從輪換線程傳出數(shù)據(jù)16.1.3 接收線程完成通知16.1.4 傳遞任意狀態(tài)16.1.5 Asynchronous Results小結(jié)16.2 Background Worker模式16.2.1 模式的建立16.2.2 異常處理16.3 Windows窗體16.4 小結(jié)第17章 平臺互操作性和不安全的代碼17.1 平臺調(diào)用17.1.1 外部函數(shù)的聲明17.1.2 參數(shù)的數(shù)據(jù)類型17.1.3 使用ref而不是指針17.1.4 為順序布局使用Struct-LayoutAttribute17.1.5 錯誤處理17.1.6 使用SafeHandle17.1.7 外部函數(shù)的調(diào)用17.1.8 用包裝簡化API調(diào)用17.1.9 函數(shù)指針映射到委托17.1.10 指導(dǎo)原則17.2 指針和地址17.2.1 不安全的代碼17.2.2 指針的聲明17.2.3 指針的賦值17.2.4 指針的解引用17.2.5 引用類型的成員的訪問17.3 小結(jié)第18章 CLI18.1 CLI的定義18.2 CLI實現(xiàn)18.3 C#編譯成機器碼18.4 運行時18.4.1 垃圾回收18.4.2 .NET的垃圾回收18.4.3 類型安全18.4.4 代碼訪問安全性18.4.5 平臺可移植性18.4.6 性能18.5 應(yīng)用程序域18.6 程序集、清單和模塊18.7 公共中間語言18.8 公共類型系統(tǒng)18.9 公共語言規(guī)范18.10 基類庫18.11 元數(shù)據(jù)18.12 小結(jié)附錄A 下載和安裝C#編譯器與CLI平臺A.1 Microsoft.NETA.2 Mono附錄B 完整源代碼清單附錄C C# 2.0主題

章節(jié)摘錄

  第1章 C#概述  C#是一種相當新的語言,它基于之前的C風(fēng)格語言(C、C++和Java)的特性而設(shè)計,所以許多有經(jīng)驗的程序員很快就能熟悉它。C#作為用于構(gòu)建軟件組件和應(yīng)用程序的一種編程語言,是一個更人、更復(fù)雜的執(zhí)行平臺——“公共語言基礎(chǔ)結(jié)構(gòu)”(Common Language Infrastructure,CLI)——的一部分。  本章使用傳統(tǒng)的HelloWorld程序來介紹C#。我將重點放在C#語法基礎(chǔ)上,其中包括在C#程序的可執(zhí)行文件中定義一個入口。通過本章的學(xué)習(xí),你將熟悉C#的語法風(fēng)格和結(jié)構(gòu),并能夠開始寫最簡單的C#程序。在討論C#語法基礎(chǔ)之前,我簡單介紹了托管執(zhí)行環(huán)境,解釋了C#程序在運行時是如何執(zhí)行的。本章最后討論了變量聲明、如何在控制臺上寫入和檢索數(shù)據(jù)以及為C#代碼添加注釋的基礎(chǔ)知識。

媒體關(guān)注與評論

  我堅信這本參考書兼教程會成為你的良師益友?,F(xiàn)在就開始閱讀吧!我完全相信,無論是C#語言的新手還是有經(jīng)驗的開發(fā)者,都會在閱讀中體驗到“靈機一動"的感覺?!  狿rashant Sridharan 微軟C#產(chǎn)品經(jīng)理  令人耳目一新!本書對新手和專家都極有價值。  Jon Skeet 微軟C#MVP

編輯推薦

  《C#本質(zhì)論》適用于對C#感興趣的各種層次的讀者,無論是初學(xué)者還是高級編程人員,都能從《C#本質(zhì)論》中獲益。Amazon全五星圖書在與其他語言的比較中輕松學(xué)習(xí)微軟C#產(chǎn)品經(jīng)理強烈推薦。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    C#本質(zhì)論 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7