出版時間:2011-1 出版社:人民郵電出版社 作者:納什 頁數(shù):497 譯者:劉新軍
Tag標簽:無
前言
對熟悉其他面向對象語言的人來說,Visual C#.NET(C#)學習起來相對容易。熟悉VisualBasic6.0的人想學一門面向對象語言,也會發(fā)現(xiàn)C#很容易上手。然而,盡管c群和.NET框架為創(chuàng)建簡單應用提供了一條捷徑,但為了開發(fā)復雜、健壯和容錯的C#應用,你還是需要掌握很多的信息并理解怎樣正確地使用它們。本書將教給你需要掌握的知識,并解釋如何最好地運用這些知識來快速掌握真正的C#專業(yè)技能。學會習慣用法和設計模式對培養(yǎng)和應用專業(yè)技能有不可估量的作用,本書將展示怎樣使用它們來創(chuàng)建高效、健壯、容錯和異常安全(exception-safe)的應用程序。雖然Java.和c++程序員對于其中的許多模式都比較熟悉,但有一些是.NET和公共語言運行庫(CLR)獨有的。本書后面的章節(jié)會展示如何應用這些必不可少的習慣用法和設計模式,將C#應用程序與.NET運行庫無縫整合起來,重點將放在C#3.0的新功能上。設計模式記錄的是許多程序員在應用程序設計中反復采用的最佳實踐。事實上,.NET框架本身就實現(xiàn)了許多眾所周知的設計模式。同樣,在過去的.NET框架的三個版本和C#的兩個版本中,許多新的習慣用法和最佳實踐也已經(jīng)廣為人知,你會看到本書對這些實踐的詳細描述。另外,值得注意的是,重要的技術工具庫也在不斷革新。隨著C#3.0的到來,可以使甩lambda表達式、擴展方法和語言集成查詢(Language Integrated Query,LINQ)方便地進行函數(shù)式編程。lambda表達式可以方便地在某個點聲明和實例化函數(shù)委托(function delegate)。另外,有了1ambdai表達式,創(chuàng)建functional就是小菜一碟。functional是以函數(shù)作為參數(shù)并返回另一個函數(shù)的函數(shù)。即使你之前可以在c群里面實現(xiàn)函數(shù)式編程(雖然還是有點困難),但C#3.0里面的新語言特性提供了一個新的環(huán)境,在這里函數(shù)式編程和典型的命令式編程可以和諧共存。LINQ允許使用這種語言的語法來表示數(shù)據(jù)查詢操作(這本質上也是functional)。一旦知道了LINQ的工作原理,你就會意識到你能做的遠遠不止簡單的數(shù)據(jù)查詢,還可以用它來實現(xiàn)復雜的函數(shù)式編程。.NET和CLR提供了一個獨特和穩(wěn)定的跨平臺執(zhí)行環(huán)境。C#只是針對這一有效運行時的語言之一,但是你會發(fā)現(xiàn)本書探討的技術也適用于任何針對.NET運行時的語言。
內容概要
本書是經(jīng)典教程的全面升級,通過許多精彩的示例介紹了c# 語言的每個新特性,深入淺出地講解了c# 語言的核心概念,以及如何聰明地應用c# 的習慣用法和面向對象的設計模式來挖掘c# 和clr 的能力。這一版還介紹了c# 4.0 中新加入的動態(tài)類型,它簡化了與包括com automation 對象在內的動態(tài).net語言的集成。聯(lián)合使用動態(tài)類型和expandoobject 這樣的dlr 類型,你可以在c# 里創(chuàng)建并實現(xiàn)真正的動態(tài)類型,本書所探討的技術也適用于任何針對.net 運行時的語言。本書適合有一定編程經(jīng)驗的程序員閱讀。
作者簡介
Trey Nash是微軟全球平臺專家服務團隊的資深專家工程師。加入微軟之前,他是Credant科技安全解決方案方面的首席軟件工程師,同時還在一家為微軟Vista提供藍牙解決方案的大型藍牙公司兼職。在轉向.NET之前,他擅長使用C/C++/ATL開發(fā)COM/DCOM。
書籍目錄
第1章 c#預覽 第2章 c# 和clr 第3章 c#語法概述 第4章 類、結構和對象 第5章 接口和契約 第6章 重載操作符 第7章 異常處理和異常安全 第8章 使用字符串 第9章 數(shù)組、集合類型和迭代器 第10章 委托、匿名方法和事件 第11章 泛型 第12章 c#中的線程 第13章 c#規(guī)范形式探索 第14章 擴展方法 第15章 lambda表達式 第16章 linq:語言集成查詢 第17章 dynamic類型
章節(jié)摘錄
插圖:在C++的應用程序中調用庫,需要兩個文件:一個靜態(tài)庫或DLL文件,以及(通常來說)一個頭文件。它們是兩個獨立的文件,而又必須作為整體來處理,因此一旦不小心,頭文件和庫文件完全可能不同步。這將帶來災難性的后果。而托管模塊中的元數(shù)據(jù)包含了所有必需的信息。托管世界中的可重用單元是程序集,程序集可以由多個模塊構成。因此程序集實際上也是自描述的。元數(shù)據(jù)也是可擴展的,用戶可以在元數(shù)據(jù)中定義新的類型和屬性。更重要的是,元數(shù)據(jù)可以在運行時使用。例如,即使之前或編譯時不知道類的聲明,你也能在運行時迭代任意的類類型的所有域。敏銳的讀者會發(fā)現(xiàn),這使整個程序和類型能夠在運行時產生,而本地C++無法做到這一點,除非將C++編譯器全部集成到應用程序中。元數(shù)據(jù)是一種描述程序集內容的可擴展格式。如果其表現(xiàn)力不能滿足需求,可以很容易地在元數(shù)據(jù)中為某個類型定義一個新的定制“屬性”。在托管世界中,元數(shù)據(jù)幾乎能放在程序的每個有類型的實體——類、方法、參數(shù)、返回值及程序集等中。你可以從System. Attrlbute類中派生出自定義屬性,之后將它與程序集中的任意實體關聯(lián)。有了元數(shù)據(jù),用戶可以訪問、檢查類型的定義和類型的屬性。元數(shù)據(jù)能夠在試圖調用之前告訴用戶特定對象的類是否支持某個方法,也能知道某個類是否從另一個類派生而來。檢查元數(shù)據(jù)的過程稱為反射。當反射程序集中的類型時,通常會從System. Type對象開始。用C#中的type of關鍵字,調用System. Assembly. Get,Type()以及另外一些方法,你可以獲取一些類型的實例。一般而言,type of關鍵字效率比較高,因為它是在編譯時進行計算的;而Get,Type()雖然非常靈活,能傳給它任意字符串,但它是在運行時執(zhí)行。一旦擁有某種類型對象,就能知道它是否是類、接口或結構體,以及它擁有的方法、字段的數(shù)量及類型。
媒體關注與評論
“作者的C#造詣極深。而且更善于引導讀者在輕松愉快的氛圍中深入學習C#特性的來龍去脈。掌握C#的精髓。通過學習此書內容,你的C#水平必將與日俱增?!薄 猈es Dyer。微軟C#開發(fā)小組成員“我讀過不下100本.NET方面的書,自己也寫過幾本書。但是此書的精彩絕倫仍然遠遠超出了我的預期。強烈推薦!” ——William iam Ryan.微軟MVP“C#從誕生到現(xiàn)在的C# 4.0的過程中。不斷有一些新特性添加進來,這些新特性的增加就意味著開發(fā)速度或者性能上的提升。在本書中。作者詳盡地講述了C#發(fā)展歷程中的一些重大特性及它們的優(yōu)點。這一點對于閱讀本書的讀者來說是很有幫助的。從這些地方也可以看出作者的細心和豐富的經(jīng)驗。這是一本值得一讀的好書。” ——周金橋,高級程序員,MVP,51CTO專家博客
編輯推薦
《C# 4.0捷徑教程》:如果你已經(jīng)有一定C#等語言的編程經(jīng)驗。就完全不用去讀那些膚淺的入門書或者冗長繁復的大部頭,《C# 4.0捷徑教程》將為你提供一條快速掌握C#的捷徑。作者在不大的篇幅里容納了豐富扎實的內容,不僅全面涵蓋了C#的語言特性·包括lambda表達式、擴展方法和LINQ等,總結了正確使用C#的習慣用法和設計模式,而且深入探討了CLR。書中大量富于啟發(fā)性的實例和經(jīng)驗之談,更能讓你的軟件開發(fā)水平得到質的飛躍?!禖# 4.0捷徑教程》更全面增加了C#4.0新特性的介紹和討論,包括dynamic、命名和可選參數(shù)、動態(tài)導入以及協(xié)變和逆變等。好評如潮的C#4.0實戰(zhàn)圖書汲?。甆ET技術精髓的捷徑專章講述習慣用法與設計模式
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載