出版時間:2009年3月 出版社:電子工業(yè)出版社 作者:Jesse Liberty,Donald Xie 頁數(shù):587 字數(shù):937000 譯者:李愈勝,劉衛(wèi)衛(wèi),汪泳
Tag標簽:無
前言
本書講述的是如何使用C#進行編程,以及為什么要學習C#和.NET編程。C#是一門托管(managed)語言。從本人自身的經(jīng)驗而言,使用托管語言編程的好處有以下幾點:1.垃圾回收。垃圾回收帶來了很多的方便。如果使用C++編程,每次使用new創(chuàng)建一個新的對象實例時都要想一想,誰擁有這個新對象,誰負責釋放它,在什么時候釋放,等等。在簡單的程序中這還不算太大的負擔。如果是在大型軟件系統(tǒng)中,并且涉及在多線程之間進行對象傳遞的話,內(nèi)存管理就非常復雜。一不留神就會造成內(nèi)存泄露,或者是內(nèi)存訪問越界。C++引入了很多技巧來避免這種情況,例如,程序本身申請大片內(nèi)存再自己進行管理,使用引用計數(shù)(reference counter),或者smart pointer,等等。而C#自身就帶有垃圾回收功能,這樣確實減少了程序員在編寫代碼時須要注意的細節(jié)。2.完善的面向組件(component)開發(fā)。在c++編程中,程序員須要理順頭文件之間的關(guān)系,知道要鏈接哪些庫,以及須要設(shè)置各種編譯開關(guān)。稍微復雜一點的系統(tǒng),頭文件之間的關(guān)系往往變得難以管理。而在C#中,如果須要使用到別的庫,只要在引用(reference)中加入一個assembly。就可以查看這個assembly中所有公開的成員、函數(shù)、類,等等。非常方便。3.簡單統(tǒng)一的系統(tǒng)庫。常用的系統(tǒng)庫,例如string、list、file,等等。接口都非常統(tǒng)一,也很簡單易用。加入一個using語句馬上就可以使用。泛型(Generic)的引入使得這些庫的可擴充性得到了很大的提高。程序員不要再考慮如何實現(xiàn)自己的基本數(shù)據(jù)結(jié)構(gòu),而可以專心在實現(xiàn)更有價值的新功能上。4.還有很多別的特色,使得C??梢蕴岣叱绦騿T的開發(fā)效率。C#越來越多地被使用于產(chǎn)品開發(fā)。在微軟其實很多產(chǎn)品已經(jīng)使用了C#。
內(nèi)容概要
本書是一本關(guān)于C#及如何用C#編寫.NET應用程序的經(jīng)典教程,是《Programming C#》的最新版第5版。著名作者Jesse Liberty為有經(jīng)驗的IT從業(yè)人員快速掌握并運用這種新型語言提供了所有需要的信息。本書從C#的關(guān)鍵字和基本概念開始介紹,并告訴你如何結(jié)合三個核心的應用程序平臺——ASP.NET、.NET Windows窗體和ADO.NET——來應用C#語言創(chuàng)建典型的桌面和網(wǎng)絡應用程序,你將會學到如何運用.NET平臺的豐富功能來開發(fā)應用。本書中的所有文字和例子都已經(jīng)更新為與Visual Studio 2008 .NET框架3.5及C#3.0相適應?! ”緯m合采用.NET平臺開發(fā)應用程序的程序員?! ∽髡吆喗椋篔esse Liberty,現(xiàn)在是微軟公司Silverlight開發(fā)團隊的一名高級項目經(jīng)理,他是《Programming .NET 3.5》、《Learning ASP.NET with AJAX》(都是O'Reilly出版社出版的)以及許多其他書的作者。他是一位著名的.NET專家,他具有在PBS擔任軟件架構(gòu)師的經(jīng)驗,以及在AT&T擔任優(yōu)秀軟件工程師的經(jīng)驗。你可以通過http://www.JesseLiberty.com與他取得聯(lián)系。
作者簡介
Jesse Liberty是一位暢銷書作家,他著有O’Reilly公司出版的《Learning ASP.NET with AJAx》和《Programming ASRNET》,以及其他十多本與編程相關(guān)的書籍。同時他是微軟Silverlight開發(fā)小組的一位高級項目經(jīng)理,并且經(jīng)常為O’Reilly Network的網(wǎng)站和出版物撰稿。Donald Xie是Chevron公司的一位商業(yè)分析師。他熱愛編程,并作為獨立的解決方案咨詢師為很多組織服務過。Donald與他人合著有多本關(guān)于.NET平臺和普通編程的書籍,其中包括《Pro Visual Studio.NET》(Apress出版)和《Fast 1Tack ADO.NET》(Peer Informaiton,Inc.出版)。
書籍目錄
前言第1部分C#語言 第1章:C#與.NET框架 C#語言的進化 C#語言 .NET平臺 第2章:出發(fā):“Hello World” 類、對象與類型 開發(fā)“HelloWorld” 使用VisulStudio調(diào)試器 第3章:C#語言基礎(chǔ) 類型 變量與常量 空白 語句 操作符 預處理指令 第4章:類與對象 定義類 創(chuàng)建對象 使用靜態(tài)成員 銷毀對象 傳遞參數(shù) 重載方法和構(gòu)造方法 用屬性封裝數(shù)據(jù) 只讀字段 第5章:繼承與多態(tài) 具體化與一般化 繼承 多態(tài) 抽象類 萬類之根:Object 嵌套類 第6章:操作符重載 使用operator關(guān)鍵字 支持其他.NET語言 創(chuàng)建有用的操作符 邏輯操作符對 等于操作符 轉(zhuǎn)換操作符 讓操作符工作 第7章:結(jié)構(gòu)體 定義結(jié)構(gòu)體 創(chuàng)建結(jié)構(gòu)體 第8章:接口 實現(xiàn)接口 重定義接口的實現(xiàn) 顯式接口實現(xiàn) 第9章:數(shù)組、索引器與集合 數(shù)組 foreach語句 索引器 集合接口 約束 List 隊列 ?! ∽值洹〉?0章:字符串與正則表達式 字符串 正則表達式 第11章:異常處理 拋出和捕獲異常 Exception對象 第12章:委托與事件 事件 事件和委托 匿名方法第2部分C#與數(shù)據(jù) 第13章:介紹語言集成查詢 定義并執(zhí)行查詢 LINQ和C# 匿名類型 隱式類型的本地變量 擴展方法 LINQ中的Lambda表達式 第14章:使用XML XML基礎(chǔ)(快速的回顧) X代表的是可擴展性 創(chuàng)建XML文檔 使用XPath在XML中查找 使用XPathNavigator查找 XML序列化 第15章:使用LINQ工作 開始安裝 LINQ To SQL的基礎(chǔ) Visul Studio的LINQ To SQL設(shè)計器的使用 提取數(shù)據(jù) 使用面向SQL的LINQ更新數(shù)據(jù) 刪除關(guān)系數(shù)據(jù) 面向XML的LINQ 第16章:DO.NET和關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫和SQL DO.NET對象模型 開始DO.NET編程第3部分C#編程 第17章:編寫ASP.NET應用程序 Web窗體基礎(chǔ) 創(chuàng)建一個Web窗體 數(shù)據(jù)綁定 第18章:編寫WPF應用程序 WPF簡介 創(chuàng)建應用程序 Dorothy,你學到了什么 第19章:編寫Windows Forms應用程序 創(chuàng)建應用程序第4部分C#與.NETLR 第20章:特性和反射 特性 反射 第21章:線程和同步 線程 同步 競爭條件和死鎖 第22章:數(shù)據(jù)流 文件和目錄 讀取和寫入數(shù)據(jù) 異步I/O 網(wǎng)絡I/O Web數(shù)據(jù)流 序列化 隔離存儲 第23章:.NET和OM編程 導入Active X控件 P/Invoke 指針 C#關(guān)鍵字索引
章節(jié)摘錄
第3章 C#語言基礎(chǔ) 第2章中我們演示了一個非常簡單的C#程序。但是,即使是這樣一個小程序,其實也并不簡單,以至于有許多相關(guān)的細節(jié)都不得不跳過。本章將更加深入地探討C#語言本身的語法和結(jié)構(gòu),闡述這些細節(jié)?! ”菊聦⒂懻揅#中的類型系統(tǒng),比較內(nèi)置類型(int、bool等)與用戶定義類型(以類和接口形式創(chuàng)建的類型)的不同。本章還將講述如何創(chuàng)建和使用變量和常量等編程基礎(chǔ)知識,進而介紹枚舉、字符串、標識符、表達式和語句。 本章的下半部分將闡釋和演示流程控制語句的使用,包括if、switch、while、do.…while、for和foreach語句,還將討論操作符,包括賦值、邏輯、關(guān)系和數(shù)學操作符。最后是一個C#預編譯器的簡短教程。 雖然C#主要關(guān)心的是對象的創(chuàng)建和處理,但最好還是從基本的構(gòu)造單位——用來創(chuàng)建對象的元素開始。這些元素包括內(nèi)置類型(C#的內(nèi)置部分),以及C#的語法元素?! ☆愋汀 #語言中的每一個變量和對象都有一個類型,有由語言提供的內(nèi)置(intrinsic,也稱built.in)類型,程序員也可以創(chuàng)建的自定義類型(比如Employee)?! ‘攧?chuàng)建對象的時候,我們聲明它的類型。在靜態(tài)類型語言中(注:在這種語言中,數(shù)據(jù)類型是在編譯期間就決定的),如C#,編譯器會“強制”要求對象必須被賦予正確的類型,如果違反了上述規(guī)則,比如將一個Employee對象賦值給一個整型變量,編譯器會在編譯時(而不是在運行時)報錯。這是一件好事,幫助防止缺陷bug的出現(xiàn),并能幫助生成更可靠的代碼。
編輯推薦
OREILLY國際暢銷書《Programming C#》系列,第5版隆重上市! 本書實踐性強,從編程實踐的角度講解C# 3.0,深入淺出地講述C#和如何用C#編寫.NET應用程序。 為您創(chuàng)建符合行業(yè)標準的應用程序打下良好基礎(chǔ)。 C#3.0版本的問世標志著這一不斷革新的語言的又一次重要成長,該版本增加了對LINQ(語言集成查詢)的支持,以及許多其他被人們期待已久的功能。但是伴隨這些改進而來的是更加陡峭的學習曲線,因此,尋找一本詳盡且易于理解的教材是很重要的。Jesse Liberty在.NET專家Donald Xie的幫助下,完全改寫了他的國際暢銷書(《Programming C#》系列),為希望學習C#3.0、并使用它來開發(fā)最前沿的.NET應用程序的編程新手和有一定基礎(chǔ)的程序員,奉獻了本書。 《Programming C#3.0》比其他類似主題的教材更為優(yōu)秀。在本書中,Liberty不僅僅教授了C#3.0的新特性,而且還完整介紹了C#語言,以及如何在Visual Studi0 2008開發(fā)環(huán)境中將C#與基于.NET3.5框架的編程技術(shù)相結(jié)合。擁有了這些知識,你馬上就可以開始創(chuàng)建符合行業(yè)標準的應用程序了。本書主要包括如下四個部分: 第一部分專注于語言本身。你將學到一些重要的基本概念,如類、對象、繼承和多態(tài),正是這些概念使C#3.0和.NET平臺成為一個高效的桌面和網(wǎng)絡應用程序開發(fā)環(huán)境。 第二部分介紹用于訪問和處理數(shù)據(jù)的C#3.0和.NET 3.5平臺技術(shù),包括LINQ、ADO.NET 3.5及用于處理XML文檔的框架類?! 〉谌糠种v授了如何使用C#及整套的微軟框架來創(chuàng)建基于WPF、Win Forms和ASENET技術(shù)的桌面和網(wǎng)絡應用程序?! 〉谒牟糠稚钊虢榻B.NET公共語言運行環(huán)境(CLR),并提供所需要的專業(yè)指導,使你可以使用.NET框架的豐富功能來管理部署、處理元數(shù)據(jù)、使用線程及處理數(shù)據(jù)流等?! ”緯敱M而完整地介紹了LINQ和其他C#3.0語言的新功能,而且使你可以從使用C#語言工作了近十年的專業(yè)編程人員那里學到最佳的編程實踐,以及從實際項目中得到的編程經(jīng)驗。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Programming C# 3.0中文版(第5版) PDF格式下載