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