日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì).NETC#高級編程(第3版)

C#高級編程(第3版)

C#高級編程(第3版)

定 價(jià):¥128.00

作 者: (美)Simon Robinson,(美)Christian Nagel等著;李敏波翻譯;李敏波譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: C#

ISBN: 9787302101994 出版時(shí)間: 2005-06-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 1010 字?jǐn)?shù):  

內(nèi)容簡介

  對于開發(fā)人員來說,把C#語言及其相關(guān)環(huán)境.NET Framework描述為多年來最重要的新技術(shù)一點(diǎn)都不夸張。.NET提供了一種新環(huán)境。在這個(gè)環(huán)境中,可以開發(fā)出運(yùn)行在Windows上的幾乎所有應(yīng)用程序,而C#是專門用于.NET的新編程語言。例如,使用C#可以編寫出動(dòng)態(tài)Web頁面、XML Web服務(wù)、分布式應(yīng)用程序的組件、數(shù)據(jù)庫訪問組件或傳統(tǒng)的Windows桌面應(yīng)用程序。本書介紹.NET Framework 1.1,即.NET Framework的第2版,但本書的大部分內(nèi)容也適用于.NET Framework 1.0。如果使用1.0版本進(jìn)行編碼,就需要作一些修改,本書將在需要修改的地方指出要修改的內(nèi)容。不要被.NET這個(gè)名稱所愚弄,這個(gè)名稱僅強(qiáng)調(diào)Microsoft相信分布式應(yīng)用程序是未來的趨勢,即處理過程分布在客戶機(jī)和服務(wù)器上,但C#不僅僅是編寫Internet或與網(wǎng)絡(luò)相關(guān)的應(yīng)用程序的一種語言,它還提供了一種編寫Windows平臺上幾乎任何類型的軟件或組件的方式。另外,C#和.NET都對編寫程序的方式進(jìn)行了革新,更易于實(shí)現(xiàn)在Windows上編程。這是一個(gè)相當(dāng)重要的聲明。畢竟,我們都知道計(jì)算機(jī)技術(shù)的發(fā)展速度非???,每年Microsoft都會(huì)推出新軟件、新的編程工具或Windows的新版本,并宣稱這些對開發(fā)人員都非常有用,.NET和C#也不例外。.NET和C#的重要性為了理解.NET的重要性,考慮一下近10年來出現(xiàn)的許多Windows技術(shù)的本質(zhì)會(huì)有一定的幫助。盡管所有的Windows操作系統(tǒng)在表面上看來完全不同,但從Windows 3.1(1992年)到Windows Server 2003,在內(nèi)核上都有相同的Windows API。在我們轉(zhuǎn)而使用Windows的新版本時(shí),API中增加了非常多的新功能,但這是一個(gè)演化和擴(kuò)展API的過程,并非是替換它。開發(fā)Windows軟件所使用的許多技術(shù)和架構(gòu)也是這樣。例如,COM (Component Object Model,組件對象模型)是作為OLE (Object Linking and Embedding,對象鏈接和嵌入)開發(fā)出來的,那時(shí),它在很大程度上僅是把不同類型的辦公文檔鏈接在一起,所以利用它可以把一個(gè)小Excel電子表格放在Word文檔中。之后,它逐步演化為COM、DCOM (Distributed COM,分布式組件對象模型)和最終的COM+。COM+是一種復(fù)雜的技術(shù),它是幾乎所有組件通信方式的基礎(chǔ),實(shí)現(xiàn)了事務(wù)處理、消息傳輸服務(wù)和對象池。Microsoft選擇這條道路的原因非常明顯:它關(guān)注向后的兼容性。在過去的這些年中,第三方廠商編寫了相當(dāng)多的Windows軟件,如果Microsoft每次都引入一項(xiàng)不遵循現(xiàn)有代碼基礎(chǔ)的新技術(shù),Windows就不會(huì)獲得今天的成功。向后兼容性是Windows技術(shù)的極其重要的特性,也是Windows平臺的一個(gè)長處,但它有一個(gè)很大的缺點(diǎn)。每次某項(xiàng)技術(shù)進(jìn)行演化,增加了新功能后,都會(huì)比它以前更復(fù)雜。很明顯,對此必須進(jìn)行改進(jìn)。Microsoft不可能一直擴(kuò)展這些開發(fā)工具和語言,使它們越來越復(fù)雜,既要保證能跟上最新硬件的發(fā)展步伐,又要與20世紀(jì)90年代初開始流行的Windows產(chǎn)品向后兼容。如果要得到一種簡單而專業(yè)化的語言、環(huán)境和開發(fā)工具,讓開發(fā)人員輕松地編寫優(yōu)秀的軟件,就需要一種新的開端。這就是C#和.NET的作用。粗略地說,.NET是一種在Windows上編程的新架構(gòu)—— 一種新API。C#是一種新語言,它可以利用.NET Framework及其開發(fā)環(huán)境中的所有新特性,以及在最近20年來出現(xiàn)的面向?qū)ο蟮木幊谭椒?。在繼續(xù)介紹前,必須先說明,向后兼容性并沒有在這個(gè)演化進(jìn)程中失去。現(xiàn)有的程序仍可以使用,.NET也兼容現(xiàn)有的軟件。軟件組件在Windows上的通信,現(xiàn)在幾乎都是使用COM實(shí)現(xiàn)的。因此,.NET能夠提供現(xiàn)有COM組件的包裝器(wrapper),以便.NET組件與之通信。Microsoft已經(jīng)擴(kuò)展了C++,提供了一種新語言J#,還對VB進(jìn)行了很多改進(jìn),把它轉(zhuǎn)變成為功能更強(qiáng)大的VB.NET,并允許把用這些語言編寫的代碼用于.NET環(huán)境。但這些語言都因有多年演化的痕跡,所以不能完全用現(xiàn)在的技術(shù)來編寫。本書將介紹C#編程技術(shù),同時(shí)提供.NET體系結(jié)構(gòu)工作原理的必要背景知識。我們不僅會(huì)介紹C#語言的基礎(chǔ),還會(huì)給出使用各種相關(guān)技術(shù)的應(yīng)用程序示例,包括數(shù)據(jù)庫訪問、動(dòng)態(tài)的Web頁面、先進(jìn)的圖形技術(shù)和目錄訪問等。惟一的要求是用戶至少熟悉一門在Windows上使用的高級語言,例如C++、VB或J++。 .NET的優(yōu)點(diǎn)前面闡述了.NET的優(yōu)點(diǎn),但并沒有說它會(huì)使開發(fā)人員的工作更易于完成。在本節(jié)中,我們將簡要討論.NET的改進(jìn)特性?!衩嫦?qū)ο蟮木幊蹋?NET Framework和C#從一開始就完全是基于面向?qū)ο蟮摹!駜?yōu)秀的設(shè)計(jì):一個(gè)基類庫,它是以一種非常直觀的方式設(shè)計(jì)出來的?!裾Z言的無關(guān)性:在.NET中,VB.NET、C#、J#和Managed C++等語言都可以編譯為通用的中間語言(Intermediate Language)。這說明,語言可以用以前沒有的方式交互操作?!駥?dòng)態(tài)Web頁面的支持:ASP具有很大的靈活性,但效率不是很高,這是因?yàn)樗褂昧私忉屝缘哪_本語言,且缺乏面向?qū)ο蟮脑O(shè)計(jì),從而導(dǎo)致ASP代碼比較凌亂。.NET使用一種新技術(shù)ASP.NET,它為Web頁面提供了一種集成式的支持。使用ASP.NET,可以編譯頁面中的代碼,這些代碼還可以使用.NET高級語言來編寫,例如C#、J#或VB.NET?!窀咝У臄?shù)據(jù)訪問:一組.NET組件,總稱為ADO.NET,提供了對關(guān)系數(shù)據(jù)庫和各種數(shù)據(jù)源的高效訪問。這些組件也可以訪問文件系統(tǒng)和目錄。.NET內(nèi)置了XML支持,可以處理從非Windows平臺導(dǎo)入或?qū)С龅臄?shù)據(jù)。●代碼共享:.NET引入了程序集的概念,替代了傳統(tǒng)的DLL,可以完美無暇地修補(bǔ)代碼在應(yīng)用程序之間的共享方式。程序集有解決版本沖突的正式系統(tǒng),程序集的不同版本可以同時(shí)存在。 ●增強(qiáng)的安全性:每個(gè)程序集還可以包含內(nèi)置的安全信息,這些信息可以準(zhǔn)確地指出誰或哪種類型的用戶或進(jìn)程可以調(diào)用什么類的哪些方法。這樣就可以非常準(zhǔn)確地控制程序集的使用方式?!駥Π惭b沒有任何影響:有兩種類型的程序集,分別是共享程序集和私有程序集。共享程序集是可用于所有軟件的公共庫,私有程序集只用于某個(gè)軟件。私有程序集功能完備,所以安裝過程非常簡單,沒有注冊表項(xiàng),只需把相應(yīng)的文件放在文件系統(tǒng)的相應(yīng)文件夾中即可?!馱eb服務(wù)的支持:.NET集成了對開發(fā)Web服務(wù)的完全支持,用戶可以開發(fā)出任何類型的應(yīng)用程序。●Visual Studio .NET 2003:.NET附帶了一個(gè)開發(fā)環(huán)境Visual Studio .NET,它可以很好地利用C++、C#、J#、VB.NET和ASP.NET進(jìn)行代碼編寫。Visual Studio .NET集成了Visual Studio 6環(huán)境中各種語言專用的所有最佳功能?!馛#:是使用.NET的一種面向?qū)ο蟮男抡Z言。第1章將詳細(xì)討論.NET體系結(jié)構(gòu)的優(yōu)點(diǎn)。.NET Framework 1.1中的新增特性.NET Framework的第1版(1.0版)在2002年發(fā)布,贏得了許多人的喝彩。.NET Framework的最新版本1.1在2003年發(fā)布,它被認(rèn)為是對該架構(gòu)進(jìn)行了較小的改進(jìn)。即使是較小的改進(jìn),新版本仍有一些非常明顯的變化和新增的內(nèi)容,值得我們探討一番。在對.NET Framework 1.1版本進(jìn)行的所有改進(jìn)中,Microsoft試圖確保對使用1.0版本編寫的代碼改動(dòng)盡可能少。即使做了這樣的努力,但在新版本中仍有一些顯著的變化。許多代碼的改進(jìn)是為了增強(qiáng)安全性。讀者可以在Microsoft的GotDotNet Web站點(diǎn)(http://www.gotdotnet.com)上查看完整的改進(jìn)列表。下面詳細(xì)論述.NET Framework 1.1版本中的一些改進(jìn)和Visual Studio .NET 2003(.NET Framework 1.1的開發(fā)環(huán)境)的新增特性。 可移動(dòng)性在使用.NET Framework 1.0和Visual Studio .NET 2002時(shí),要?jiǎng)?chuàng)建可移動(dòng)應(yīng)用程序,就必須下載Microsoft Mobile Internet Toolkit(MMIT)。而現(xiàn)在,有了.NET Framework 1.1和Visual Studio .NET 2003,就可以直接創(chuàng)建可移動(dòng)應(yīng)用程序,不需要下載其他工具包了。在使用Visual Studio .NET 2003創(chuàng)建新項(xiàng)目時(shí),這是顯而易見的。例如,在查看可以創(chuàng)建的C#項(xiàng)目類型列表時(shí),會(huì)看到ASP.NET Mobile Web Application和Smart Device Application。ASP.NET Mobile Web Application項(xiàng)目類型可以用于建立基于Web的可移動(dòng)應(yīng)用程序。Smart Device Application項(xiàng)目類型可以創(chuàng)建用于Pocket PC或其他Windows CE設(shè)備的應(yīng)用程序。為Windows CE設(shè)備建立的第三方客戶應(yīng)用程序利用的是Compact Framework,這是.NET Framework的刪節(jié)版本。打開任何一種可移動(dòng)項(xiàng)目類型,系統(tǒng)就會(huì)在Visual Studio .NET工具箱中列出一組可用的可移動(dòng)服務(wù)器控件,然后用戶就可以使用這些控件創(chuàng)建應(yīng)用程序。 新的數(shù)據(jù)提供程序在新的架構(gòu)中,另一個(gè)大的變化是ADO.NET。ADO.NET是訪問和處理數(shù)據(jù)的.NET方式,現(xiàn)在它有兩個(gè)新的數(shù)據(jù)提供程序,其中一個(gè)用于ODBC,另一個(gè)用于Oracle。在使用.NET Framework 1.0時(shí),就可以使用ODBC數(shù)據(jù)提供程序,但它需要單獨(dú)下載。另外,一旦下載,這個(gè)數(shù)據(jù)提供程序的命名空間就是Microsoft.Data.Odbc。而在.NET Framework 1.1中,ODBC數(shù)據(jù)提供程序是內(nèi)置的,不需要單獨(dú)下載。而且可以通過System.Data.Odbc命名空間來使用ODBC數(shù)據(jù)源,訪問ODBC數(shù)據(jù)連接、數(shù)據(jù)適配器和數(shù)據(jù)讀取器對象。另一個(gè)新的數(shù)據(jù)提供程序用于處理Oracle數(shù)據(jù)庫。該數(shù)據(jù)庫在企業(yè)中的應(yīng)用非常廣泛,缺乏Oracle數(shù)據(jù)提供程序常常是.NET進(jìn)入企業(yè)的一大障礙。為了使用這個(gè)新的數(shù)據(jù)提供程序,需要在項(xiàng)目中引用System.Data.OracleClient命名空間。 新的語言:Visual J# 在安裝Visual Studio .NET 2003時(shí),注意該版本提供了一種新語言Visual J#,可用于建立.NET應(yīng)用程序。在此版本之前,Visual Studio .NET 2002需要單獨(dú)安裝該語言。Visual J#簡稱為J#(讀作J-Sharp),是Visual J++語言的新版本。它非常類似于Java語言,Java開發(fā)人員通過它將很容易遷移到.NET中。J#開發(fā)人員將使用.NET類庫來代替Java運(yùn)行 時(shí)庫。在.NET平臺上,J#開發(fā)人員將擁有與C#開發(fā)人員相同的能力。使用J#,也可以建立.NET類、Windows窗體應(yīng)用程序、ASP.NET Web應(yīng)用程序和XML Web服務(wù)。另外,還可以像使用其他.NET兼容語言那樣,以跨語言的方式使用J#。例如,可以創(chuàng)建一個(gè)J#類,并在C#應(yīng)用程序中使用這個(gè)J#類,或者可以創(chuàng)建一個(gè)C#類,并在J#應(yīng)用程序中使用這個(gè)C#類。 與其他語言一樣,在.NET Framework中也有用于J#的內(nèi)置編譯器。所有的編譯器都位于C:/Windows/Microsoft .NET/Framework/v1.1.xxxx目錄下。C#的編譯器是csc.exe,VB.NET的編譯器是vbc.exe,J#的編譯器是vjc.exe。 并發(fā)執(zhí)行并發(fā)執(zhí)行side-by-side execution是指在同一個(gè)服務(wù)器上運(yùn)行應(yīng)用程序的多個(gè)版本,其中不同的應(yīng)用程序版本使用不同的運(yùn)行庫版本。Microsoft一直都向開發(fā)人員承諾提供這個(gè)功能,但該功能總是很難可視化,因?yàn)橹荒苁褂肍ramework的一個(gè)版本。在發(fā)布了Framework的第2版.NET Framework 1.1后,就可以看到Microsoft提供的這個(gè)功能了?,F(xiàn)在,可以創(chuàng)建.NET應(yīng)用程序面向.NET Framework 1.1的新版本,同時(shí)還可以讓面向.NET Framework 1.0的舊應(yīng)用程序像以前那樣繼續(xù)運(yùn)行。 支持Internet Protocol 6(IPv6)最近,許多Internet使用IP 4運(yùn)行,IP4也稱為IPv4。它提供了IP地址,例如255.255.255. 255。.NET Framework 1.1現(xiàn)在支持IPv6,IPv6是在1995年創(chuàng)建的,解決了IPv4所面臨的許多問題。如果人們一直采用IPv4,將很快用盡可用的IP地址。.NET Framework 1.1通過System.Net命名空間支持IPv6,ASP.NET和XML Web服務(wù)也支持IPv6。Visual Studio .NET 2003的改進(jìn)在升級.NET Framework時(shí),還對Visual Studio .NET本身進(jìn)行了升級。注意,在開始頁面上有一些新圖形,該頁面上對象的組織方式也有所不同。另外,新IDE最重大的變化是,一旦安裝,就不是簡單地把Visual Studio .NET 2002升級為Visual Studio .NET 2003,而是安裝了一個(gè)全新的IDE版本。如果機(jī)器上已經(jīng)安裝了Visual Studio .NET 2002,就會(huì)得到兩個(gè)完全獨(dú)立的VS.NET IDE。這樣,如果要?jiǎng)?chuàng)建和使用面向.NET Framework 1.0的應(yīng)用程序,就使用VS.NET 2002;如果要?jiǎng)?chuàng)建和使用面向.NET Framework 1.1的應(yīng)用程序,就使用VS.NET 2003。還應(yīng)注意,在打開用VS.NET 2002創(chuàng)建的項(xiàng)目時(shí),系統(tǒng)會(huì)詢問是否要把項(xiàng)目升級為VS.NET 2003項(xiàng)目,如果回答“是”,就會(huì)把項(xiàng)目升級為面向.NET Framework 1.1的應(yīng)用程序。注意,這是一個(gè)不可逆的過程。除了這些較大的變化之外,在VS.NET 2003的IDE中,Intellisense的智能化程度更高,代碼自動(dòng)完成功能更強(qiáng)。本書將使用IDE的這個(gè)版本。 C#的優(yōu)點(diǎn)C#在某種程度上可以看作是.NET面向Windows環(huán)境的一種編程語言。在過去的十幾年里,Microsoft給Windows和 Windows API添加了許多功能,VB和C++也經(jīng)歷了許多變化。雖然VB和C++最終已成為非常強(qiáng)大的語言,但這兩種語言也存在問題,因?yàn)樗鼈儽A袅嗽瓉淼囊恍﹥?nèi)容。對于Visual Basic來說,它的主要優(yōu)點(diǎn)是很容易理解,許多編程工作都很容易完成,基本上隱藏了Windows API和COM組件結(jié)構(gòu)的內(nèi)涵。其缺點(diǎn)是Visual Basic從來沒有實(shí)現(xiàn)真正意義上的面向?qū)ο螅源笮蛻?yīng)用程序很難分解和維護(hù)。另外,因?yàn)閂B的語法繼承于BASIC的早期版本(BASIC主要是為了讓初學(xué)者更容易理解,而不是為了編寫大型商業(yè)應(yīng)用程序),所以不能真正成為結(jié)構(gòu)化或面向?qū)ο蟮木幊陶Z言。另一方面,C++在ANSI C++語言定義中有其自己的根。它與ANSI不完全兼容,因?yàn)镸icrosoft是在ANSI定義標(biāo)準(zhǔn)化之前編寫C++編譯器的,但已經(jīng)相當(dāng)接近了。遺憾的是,這導(dǎo)致了兩個(gè)問題。其一,ANSI C++是在十幾年前的技術(shù)條件下開發(fā)的,因此不支持現(xiàn)在的概念(例如Unicode字符串和生成XML文檔),某些古老的語法結(jié)構(gòu)是為以前的編譯器設(shè)計(jì)的(例如成員函數(shù)的聲明和定義是分開的)。其二,Microsoft同時(shí)還試圖把C++演變?yōu)橐环N用于在Windows上執(zhí)行高性能任務(wù)的語言—— 在語言中避免添加大量Microsoft專用的關(guān)鍵字和各種庫。其結(jié)果是在Windows中,該語言成為了一種非常雜亂的語言。讓一個(gè)C++開發(fā)人員說說字符串有多少個(gè)定義方式就可以說明這一點(diǎn):char*、LPTSTR、string、CString (MFC 版本)、CString (WTL 版本)、wchar_t*和 OLECHAR*等?,F(xiàn)在進(jìn)入.NET時(shí)代—— 一種全新的環(huán)境,它對這兩種語言都進(jìn)行了新的擴(kuò)展。Microsoft給C++添加了許多Microsoft專用的關(guān)鍵字,并把VB演變?yōu)閂B.NET,保留了一些基本的VB語法,但在設(shè)計(jì)上完全不同,從實(shí)際應(yīng)用的角度來看,VB.NET是一種新語言。在這里,Microsoft決定給開發(fā)人員另一個(gè)選擇—— 專門用于.NET、具有新起點(diǎn)的語言, 即Visual C# .NET。Microsoft在正式場合把C#描述為一種簡單、現(xiàn)代、面向?qū)ο蟆㈩愋头浅0踩?、派生于C和C++的編程語言。大多數(shù)獨(dú)立的評論員對其說法是“派生于C、 C++ 和Java”。這種描述在技術(shù)上是非常準(zhǔn)確的,但沒有涉及到該語言的真正優(yōu)點(diǎn)。從語法上看,C#非常類似于C++和Java,許多關(guān)鍵字都是相同的,C#也使用類似于C++和Java的塊結(jié)構(gòu),并用括號({})來標(biāo)記代碼塊,用分號分隔各行語句。對C#代碼的第一印象是它非常類似于C++或Java代碼。但在這些表面上的類似性后面,C#學(xué)習(xí)起來要比C++容易得多,但比Java難一些。其設(shè)計(jì)與現(xiàn)代開發(fā)工具的適應(yīng)性要比其他語言更高,它同時(shí)具有Visual Basic的易用性、高性能以及C++的低級內(nèi)存訪問性。C#包括以下一些特性:●完全支持類和面向?qū)ο缶幊?,包括接口和繼承、虛函數(shù)和運(yùn)算符重載的處理?!穸x完整、一致的基本類型集?!駥ψ詣?dòng)生成XML文檔說明的內(nèi)置支持?!褡詣?dòng)清理動(dòng)態(tài)分配的內(nèi)存?!窨梢杂糜脩舳x的特性來標(biāo)記類或方法。這可以用于文檔說明,對編譯有一定的影響(例如,把方法標(biāo)記為只在調(diào)試時(shí)編譯)?!駥?NET基類庫的完全訪問權(quán),并易于訪問Windows API。●可以使用指針和直接內(nèi)存訪問,但C#語言可以在沒有它們的條件下訪問內(nèi)存?!褚訴B的風(fēng)格支持屬性和事件?!窀淖兙幾g器選項(xiàng),可以把程序編譯為可執(zhí)行文件或.NET組件庫,該組件庫可以用與ActiveX控件(COM組件)相同的方式由其他代碼調(diào)用。●C#可以用于編寫ASP.NET動(dòng)態(tài)Web頁面和XML Web服務(wù)。應(yīng)該指出,對于上述大多數(shù)特性,VB.NET和Managed C++也具備。但C#從一開始就使用.NET,對.NET特性的支持不僅是完整的,而且提供了比其他語言更合適的語法。C#語言本身非常類似于Java,但其中有一些改進(jìn),因?yàn)镴ava并不是為應(yīng)用于.NET環(huán)境而設(shè)計(jì)的。在結(jié)束這個(gè)主題前,還要指出C#的兩個(gè)局限性。其一是該語言不適用于編寫時(shí)間急迫或性能非常高的代碼,例如一個(gè)要運(yùn)行1000或1050次的循環(huán),并在不需要這些循環(huán)時(shí),立即清理它們所占用的資源。在這方面,C++可能仍是所有低級語言中的佼佼者。其二是C#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能,包括保證在代碼的特定地方運(yùn)行的內(nèi)聯(lián)函數(shù)和析構(gòu)函數(shù)。但這類應(yīng)用程序非常少。 編寫和運(yùn)行C#代碼需要的環(huán)境.NET運(yùn)行在Windows 98、2000、XP和2003上,要使用.NET編寫代碼,需要安裝.NETSDK,除非使用內(nèi)置了.NET Framework 1.0和1.1的Windows Server 2003。除非要使用文本編輯器或其他第三方開發(fā)環(huán)境來編寫C#代碼,否則一般使用Visual Studio .NET 2003。運(yùn)行托管代碼不需要安裝完整的SDK,但需要.NET運(yùn)行庫。需要把.NET運(yùn)行庫分布到還沒有安裝它的客戶機(jī)上。 本書的內(nèi)容在本書中,首先在第1章介紹.NET的整體結(jié)構(gòu)體系,給出編寫托管代碼需要的背景知識,此后本書分幾部分介紹C#語言及其在各個(gè)領(lǐng)域中的應(yīng)用。第一部分(第1~11章)—— C#語言本部分給出C#語言的背景知識。這部分沒有指定任何語言,但假定讀者是有經(jīng)驗(yàn)的編程人員。首先介紹 C#基本語法和數(shù)據(jù)類型,再介紹C#的面向?qū)ο筇匦?,之后是C#中的一些高級 論題。第二部分(第12~18章)—— .NET環(huán)境在本部分中,介紹在.NET環(huán)境中的編程規(guī)則。特別是Visual Studio .NET、安全性、.NET應(yīng)用程序的線程部署,以及把庫生成為程序集的方式。第三部分(第19~20章)—— Windows窗體本部分討論傳統(tǒng)Windows應(yīng)用程序的創(chuàng)建,在.NET中這種應(yīng)用程序稱為Windows窗體。Windows窗體是應(yīng)用程序的客戶版本,使用.NET創(chuàng)建這些類型的應(yīng)用程序是實(shí)現(xiàn)該任務(wù)的一種快捷、簡單的方式。除了介紹Windows窗體之外,我們還將論述GDI+,這種技術(shù)可用于創(chuàng)建包含高級圖形的應(yīng)用程序。第四部分(第21~24章)—— 數(shù)據(jù)這部分介紹如何使用ADO.NET訪問數(shù)據(jù)庫,以及目錄和Active Directory交互。我們還詳細(xì)說明.NET對XML的支持,以及對Windows操作系統(tǒng)的支持。第五部分(第25~27章)—— Web編程這一部分介紹如何編寫在網(wǎng)站上運(yùn)行的組件,如何編寫網(wǎng)頁。其中包括ASP.NET的使用和Web服務(wù)程序的編寫。第六部分(第28~29章)—— 交互操作COM的向后兼容性是.NET的一個(gè)重要組成部分,COM+負(fù)責(zé)事務(wù)處理、對象池和消息的排隊(duì)。本部分將介紹.NET對處理COM和COM+的支持,并討論如何編寫與這些技術(shù)交互的C#代碼。第七部分(第30~32章)—— Windows基本服務(wù)本部分是本書主要內(nèi)容的總結(jié),介紹如何訪問文件和注冊表,如何通過應(yīng)用程序訪問Internet,以及如何使用Windows服務(wù)。第八部分—— 附錄(本書僅提供內(nèi)容下載地址)本部分包含幾個(gè)附錄,詳細(xì)介紹了面向?qū)ο蟮木幊桃?guī)則及C#編程語言專用的信息。這些附錄在本書中并未給出,您可以通過本書提及的Web站點(diǎn)http://www.wrox.com獲得其PDF版本。 如何下載本書的示例代碼在您學(xué)習(xí)本書的示例時(shí),可以選擇手工輸入所有的代碼,也可以使用與本書有關(guān)的源代碼文件。本書所有的源代碼都可以從http://www.wrox.com/上下載。在您登錄到這個(gè)站點(diǎn)時(shí),只需使用Search工具或使用書名列表就可以找到本書。接著單擊本書信息頁面上的Download Code鏈接,就可以獲得所有的源代碼。 提示:許多圖書的書名都很相似,所以通過ISBN查找本書是最簡單的,本書的ISBN是0-7645-5759-9。 下載了代碼后,就可以使用自己喜歡的解壓縮工具對它進(jìn)行解壓縮。另外,也可以進(jìn)入Wrox代碼的主下載頁面http://www.wrox.com/dynamic/books/download.aspx,查看本書所用的代碼和其他Wrox圖書。 勘誤表盡管我們已經(jīng)盡了各種努力來保證本書不出現(xiàn)錯(cuò)誤,但是錯(cuò)誤總是在所難免,如果您在本書中找到了錯(cuò)誤,例如拼寫錯(cuò)誤或代碼錯(cuò)誤,請告訴我們,我們將不勝感激。通過勘誤表,可以讓其他讀者避免受挫,當(dāng)然,這還有助于提供更高質(zhì)量的信息。要在網(wǎng)站上找到本書的勘誤表,可以登錄http://www.wrox.com,通過Search工具或書名列表查找本書 ,然后在本書的信息頁面上,單擊Book Errata鏈接。在這個(gè)頁面上,可以查看已經(jīng)提交并通過編輯檢查的所有勘誤。包含每本書的錯(cuò)誤勘誤表鏈接的完整圖書列表可通過http://www.wrox.com/misc-pages/booklist.shtml獲得。 如果沒有在Book Errata頁面上找到自己發(fā)現(xiàn)的錯(cuò)誤,可以進(jìn)入http://www.wrox.com/ contact/techsupport.shtml,填寫其上的表單,將您發(fā)現(xiàn)的錯(cuò)誤發(fā)送給我們。我們會(huì)檢查您的信息,如果正確,就把它上傳到該書的勘誤表頁面上,或在本書的后續(xù)版本中采用。 p2p.wrox.comP2P郵件列表是為作者和讀者之間的討論而建立的。讀者可以在p2p.wrox.com上加入P2P論壇。該論壇是一個(gè)基于Web的系統(tǒng),用于傳送與Wrox圖書相關(guān)的信息和相關(guān)技術(shù),與其他讀者和技術(shù)用戶交流。該論壇提供了訂閱功能,當(dāng)論壇上有新貼子時(shí),會(huì)給您發(fā)送您選擇的主題。Wrox作者、編輯和其他業(yè)界專家和讀者都會(huì)在這個(gè)論壇上進(jìn)行討論。在http://p2p.wrox.com上有許多不同的論壇,幫助讀者閱讀本書,在讀者開發(fā)自己的應(yīng)用程序時(shí),也可以從這個(gè)論壇中獲益。要加入這個(gè)論壇,需執(zhí)行下面的步驟:(1) 進(jìn)入p2p.wrox.com,單擊Register鏈接。(2) 閱讀其內(nèi)容,單擊Agree按鈕。(3) 提供加入論壇所需的信息及愿意提供的可選信息,單擊Submit按鈕。然后就可以收到一封電子郵件,其中的信息描述了如何驗(yàn)證賬戶,完成加入過程。 提示:不加入P2P也可以閱讀論壇上的信息,但只有加入論壇后,才能發(fā)送自己的信息。 加入論壇后,就可以發(fā)送新信息,回應(yīng)其他用戶的貼子。可以隨時(shí)在Web上閱讀信息。如果希望某個(gè)論壇給自己發(fā)送新信息,可以在論壇列表中單擊該論壇對應(yīng)的Subscribe to this Forum圖標(biāo)。對于如何使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟件的工作原理,以及許多針對P2P和Wrox圖書的常見問題解答。要閱讀FAQ,可以單擊任意P2P頁面上的FAQ鏈接。

作者簡介

  李敏波,2001年獲清華大學(xué)工學(xué)博士,隨后在新加坡國立大學(xué)從事協(xié)同產(chǎn)品設(shè)計(jì)與門戶的博士后研究。2002年至2004年在金蝶軟件(中國)公司中央研究院擔(dān)任高級研究員?,F(xiàn)任復(fù)旦大學(xué)軟件學(xué)院零售與分銷管理系統(tǒng)研究中心的副主任,從事教學(xué)與科研工作。

圖書目錄

第1章  .NET體系結(jié)構(gòu)    1
1.1  C#與.NET的關(guān)系    1
1.2  公共語言運(yùn)行庫    1
1.3  中間語言    4
1.3.1  面向?qū)ο蠛徒涌诘闹С?nbsp;   5
1.3.2  值類型和引用類型    6
1.3.3  強(qiáng)數(shù)據(jù)類型    6
1.3.4  通過異常處理錯(cuò)誤    12
1.3.5  特性的使用    12
1.4  程序集    12
1.4.1  私有程序集    13
1.4.2  共享程序集    14
1.4.3  反射    14
1.5  .NET Framework類    14
1.6  用C#創(chuàng)建.NET應(yīng)用程序    16
1.6.1  創(chuàng)建ASP.NET應(yīng)用程序    16
1.6.2  創(chuàng)建Windows窗體    18
1.6.3  Windows服務(wù)    18
1.7  C#在.NET企業(yè)體系結(jié)構(gòu)中的作用    18
1.8  小結(jié)    20
第2章  C#基礎(chǔ)    21
2.1  引言    21
2.2  第一個(gè)C#程序    22
2.2.1  代碼    22
2.2.2  編譯并運(yùn)行程序    22
2.2.3  詳細(xì)介紹    23
2.3  變量    25
2.3.1  變量的初始化    26
2.3.2  變量的作用域    26
2.3.3  常量    29
2.4  預(yù)定義數(shù)據(jù)類型    30
2.4.1  值類型和引用類型    30
2.4.2  CTS類型    31
2.4.3  預(yù)定義的值類型    32
2.4.4  預(yù)定義的引用類型    35
2.5  流控制    37
2.5.1  條件語句    37
2.5.2  循環(huán)    41
2.5.3  跳轉(zhuǎn)語句    44
2.6  枚舉    45
2.7  數(shù)組    47
2.8  命名空間    48
2.8.1  using語句    49
2.8.2  命名空間的別名    50
2.9  Main()方法    51
2.9.1  多個(gè)Main()方法    51
2.9.2  給Main()方法傳送參數(shù)    52
2.10  有關(guān)編譯C#文件的更多內(nèi)容    53
2.11  控制臺I/O    55
2.12  使用注釋    57
2.12.1  源文件中的內(nèi)部注釋    57
2.12.2  XML文檔說明    57
2.13  C#預(yù)處理器指令    59
2.13.1  #define和 #undef    60
2.13.2  #if, #elif, #else和 #endif    60
2.13.3  #warning和 # error    61
2.13.4  #region和#endregion    62
2.13.5  #line    62
2.14  C#編程規(guī)則    62
2.14.1  用于標(biāo)識符的規(guī)則    63
2.14.2  用法約定    64
2.15  小結(jié)    69
第3章  對象和類型    70
3.1  類和結(jié)構(gòu)    70
3.2  類成員    71
3.2.1  數(shù)據(jù)成員    71
3.2.2  函數(shù)成員    72
3.2.3  只讀字段    86
3.3  結(jié)構(gòu)    87
3.3.1  結(jié)構(gòu)是值類型    88
3.3.2  結(jié)構(gòu)和繼承    89
3.3.3  結(jié)構(gòu)的構(gòu)造函數(shù)    89
3.4  Object類    90
3.4.1  System.Object方法    90
3.4.2  ToString()方法    91
3.5  小結(jié)    93
第4章  繼承    94
4.1  繼承的類型    94
4.1.1  實(shí)現(xiàn)繼承和接口繼承    94
4.1.2  多重繼承    95
4.1.3  結(jié)構(gòu)和類    95
4.2  實(shí)現(xiàn)的繼承    95
4.2.1  虛方法    96
4.2.2  隱藏方法    97
4.2.3  調(diào)用函數(shù)的基礎(chǔ)版本    98
4.2.4  抽象類和抽象函數(shù)    99
4.2.5  密封類和密封方法    100
4.2.6  派生類的構(gòu)造函數(shù)    101
4.3  修飾符    105
4.3.1  可見性修飾符    105
4.3.2  其他修飾符    106
4.4  接口    107
4.4.1  定義和實(shí)現(xiàn)接口    108
4.4.2  派生的接口    112
4.5  小結(jié)    114
第5章  運(yùn)算符和類型強(qiáng)制轉(zhuǎn)換    115
5.1  運(yùn)算符    115
5.1.1  運(yùn)算符的簡化操作    116
5.1.2  三元運(yùn)算符    117
5.1.3  checked和 unchecked運(yùn)算符    118
5.1.4  is運(yùn)算符    119
5.1.5  as運(yùn)算符    119
5.1.6  sizeof運(yùn)算符    119
5.1.7  typeof運(yùn)算符    119
5.1.8  運(yùn)算符的優(yōu)先級    120
5.2  類型的安全性    120
5.2.1  類型轉(zhuǎn)換    121
5.2.2  裝箱和取消裝箱    124
5.3  對象的相等比較    125
5.3.1  引用類型的相等比較    125
5.3.2  ReferenceEquals()方法    125
5.3.3  虛擬的Equals()方法    125
5.3.4  靜態(tài)的Equals()方法    125
5.3.5  比較運(yùn)算符==    126
5.3.6  值類型的相等比較    126
5.4  運(yùn)算符重載    126
5.4.1  運(yùn)算符的工作方式    127
5.4.2  運(yùn)算符重載的示例:Vector結(jié)構(gòu)    128
5.5  用戶定義的數(shù)據(jù)類型轉(zhuǎn)換    135
5.5.1  執(zhí)行用戶定義的類型轉(zhuǎn)換    137
5.5.2  多重?cái)?shù)據(jù)類型轉(zhuǎn)換    143
5.6  小結(jié)    147
第6章  委托和事件    148
6.1  委托    148
6.1.1  在C#中使用委托    149
6.1.2  簡單的委托示例    153
6.1.3  BubbleSorter示例    154
6.1.4  多播委托    157
6.2  事件    160
6.2.1  從客戶的角度討論事件    160
6.2.2  生成事件    162
6.3  小結(jié)    166
第7章  內(nèi)存管理和指針    167
7.1  后臺內(nèi)存管理    167
7.1.1  值數(shù)據(jù)類型    167
7.1.2  引用數(shù)據(jù)類型    169
7.1.3  垃圾收集    171
7.2  釋放未托管的資源    172
7.2.1  析構(gòu)函數(shù)    172
7.2.2  IDisposable接口    173
7.2.3  實(shí)現(xiàn)IDisposable接口和析構(gòu)函數(shù)    175
7.3  不安全的代碼    176
7.3.1  指針    176
7.3.2  使用指針優(yōu)化性能    191
7.4  小結(jié)    194
第8章  字符串和正則表達(dá)式    195
8.1  System.String類    195
8.1.1  創(chuàng)建字符串    196
8.1.2  格式化字符串    200
8.2  正則表達(dá)式    206
8.2.1  正則表達(dá)式概述    206
8.2.2  RegularExpressionsPlayaround示例    207
8.2.3  顯示結(jié)果    209
8.2.4  匹配、組合和捕獲    211
8.3  小結(jié)    212
第9章  集合    213
9.1  對象組    213
9.1.1  數(shù)組列表    213
9.1.2  集合    215
9.1.3  字典    219
9.2  小結(jié)    228
第10章  反射    229
10.1  定制特性    229
10.1.1  編寫定制特性    230
10.1.2  定制特性示例WhatsNewAttributes    233
10.2  反射    237
10.2.1  System.Type類    237
10.2.2  TypeView示例    239
10.2.3  Assembly類    241
10.2.4  完成WhatsNewAttributes示例    243
10.3  小結(jié)    247
第11章  錯(cuò)誤和異常    248
11.1  錯(cuò)誤和異常處理    248
11.1.1  異常類    248
11.1.2  捕獲異常    250
11.1.3  用戶定義的異常類    259
11.2  小結(jié)    267
第12章  Visual Studio .NET    268
12.1  使用Visual Studio .NET 2003    268
12.1.1  創(chuàng)建項(xiàng)目    271
12.1.2  解決方案和項(xiàng)目    276
12.1.3  Windows應(yīng)用程序代碼    279
12.1.4  讀取Visual Studio 6項(xiàng)目    279
12.1.5  項(xiàng)目的瀏覽和編碼    280
12.1.6  生成項(xiàng)目    289
12.1.7  調(diào)試    293
12.2  其他.NET工具    295
12.2.1  ASP.NET Web Matrix Project    295
12.2.2  WinCV    296
12.3  小結(jié)    297
第13章  程序集    298
13.1  程序集的含義    298
13.1.1  DLL-Hell的解決方案    299
13.1.2  程序集的特性    299
13.1.3  應(yīng)用程序域和程序集    300
13.2  程序集的結(jié)構(gòu)    303
13.2.1  程序集的清單    303
13.2.2  命名空間、程序集和組件    304
13.2.3  私有程序集和共享程序集    304
13.2.4  查看程序集    304
13.2.5  構(gòu)建程序集    305
13.3  跨語言支持    309
13.3.1  CTS和CLS    310
13.3.2  語言無關(guān)性    311
13.3.3  CLS要求    320
13.4  全局程序集緩存    321
13.4.1  本機(jī)圖像生成器    322
13.4.2  全局程序集緩存查看器    322
13.4.3  全局程序集緩存工具(gacutil.exe)    324
13.5  創(chuàng)建共享程序集    324
13.5.1  共享程序集名    324
13.5.2  創(chuàng)建共享程序集    326
13.6  配置    331
13.6.1  配置類別    331
13.6.2  版本問題    332
13.6.3  配置目錄    341
13.7  小結(jié)    343
第14章  .NET的安全性    344
14.1  代碼訪問的安全性    344
14.1.1  代碼組    345
14.1.2  代碼訪問權(quán)限和權(quán)限集    351
14.1.3  策略的級別:Machine、User和Enterprise    355
14.2  對Framework中安全性的支持    357
14.2.1  要求權(quán)限    358
14.2.2  請求權(quán)限    359
14.2.3  隱式的權(quán)限    361
14.2.4  拒絕權(quán)限    362
14.2.5  斷言權(quán)限    363
14.2.6  創(chuàng)建代碼訪問權(quán)限    365
14.2.7  聲明的安全性    365
14.3  基于角色的安全性    366
14.3.1  Principal    366
14.3.2  Windows Principal    367
14.3.3  角色    368
14.3.4  聲明基于角色的安全性    369
14.4  安全策略的管理    370
14.4.1  安全配置文件    370
14.4.2  代碼組和權(quán)限的管理    373
14.4.3  安全性的啟用和禁用    374
14.4.4  重置安全策略    374
14.4.5  代碼組的創(chuàng)建    374
14.4.6  代碼組的刪除    375
14.4.7  代碼組權(quán)限的更改    375
14.4.8  權(quán)限集的創(chuàng)建和應(yīng)用    376
14.4.9  使用強(qiáng)名稱發(fā)布代碼    378
14.4.10  使用證書發(fā)布代碼    381
14.4.11  區(qū)域的管理    386
14.5  小結(jié)    387
第15章  線程    389
15.1  線程    389
15.2  多線程應(yīng)用程序    390
15.3  線程的處理    391
15.4  ThreadPlayaround示例    393
15.5  線程的優(yōu)先級    397
15.6  同步    398
15.6.1  同步的含義    398
15.6.2  同步問題    399
15.7  小結(jié)    402
第16章  使用.NET Remoting的分布式應(yīng)用程序    403
16.1  .NET Remoting的含義    404
16.1.1  應(yīng)用程序類型和協(xié)議    404
16.1.2  CLR Object Remoting    405
16.2  .NET Remoting概述    405
16.3  環(huán)境    407
16.3.1  激活    408
16.3.2  特性和屬性    408
16.3.3  環(huán)境之間的通信    409
16.4  遠(yuǎn)程對象、客戶機(jī)和服務(wù)器    409
16.4.1  遠(yuǎn)程對象    409
16.4.2  簡單的服務(wù)器    410
16.4.3  簡單的客戶機(jī)    411
16.5  .NET Remoting體系結(jié)構(gòu)    413
16.5.1  信道    413
16.5.2  格式標(biāo)識符    416
16.5.3  ChannelServices和RemotingConfiguration    417
16.5.4  對象的激活    418
16.5.5  消息接收器    422
16.5.6  在遠(yuǎn)程方法中傳遞對象    423
16.5.7  生存期管理    427
16.6  .NET Remoting的其他特性    430
16.6.1  配置文件    430
16.6.2  駐留應(yīng)用程序    440
16.6.3  類、接口和Soapsuds    441
16.6.4  異步遠(yuǎn)程調(diào)用    443
16.6.5  遠(yuǎn)程調(diào)用和事件    445
16.6.6  調(diào)用環(huán)境    451
16.7  小結(jié)    453
第17章  本地化    454
17.1  System.Globalization命名空間    454
17.1.1  Unicode問題    454
17.1.2  文化和區(qū)域    455
17.1.3  使用文化    459
17.1.4  排序    464
17.2  資源    465
17.2.1  創(chuàng)建資源文件    466
17.2.2  ResGen    466
17.2.3  ResourceWriter    466
17.2.4  使用資源文件    467
17.2.5  System.Resources命名空間    470
17.3  使用Visual Studio .NET的本地化示例    470
17.3.1  外包翻譯    476
17.3.2  編程修改文化    476
17.3.3  使用二進(jìn)制資源文件    478
17.3.4  使用XML資源文件    479
17.3.5  資源的自動(dòng)回退    480
17.4  ASP.NET應(yīng)用程序的國際化和本地化    481
17.5  定制的資源讀取器    482
17.5.1  創(chuàng)建DatabaseResourceReader類    483
17.5.2  創(chuàng)建DatabaseResourceSet類    484
17.5.3  創(chuàng)建DatabaseResourceManager類    485
17.5.4  DatabaseResourceReader的客戶應(yīng)用程序    486
17.6  小結(jié)    486
第18章  部署    487
18.1  部署的設(shè)計(jì)    487
18.2  部署選項(xiàng)    487
18.2.1  xcopy實(shí)用工具    487
18.2.2  復(fù)制項(xiàng)目    488
18.2.3  部署項(xiàng)目    488
18.3  部署的要求    488
18.4  簡單的部署    489
18.4.1  xcopy部署    489
18.4.2  xcopy部置和Web應(yīng)用程序    490
18.4.3  復(fù)制項(xiàng)目    491
18.5  Installer項(xiàng)目    492
18.5.1  Windows Installer    493
18.5.2  創(chuàng)建安裝程序    493
18.5.3  高級選項(xiàng)    502
18.6  小結(jié)    508
第19章  Windows窗體    509
19.1  創(chuàng)建Windows窗體應(yīng)用程序    509
19.2  Control類    515
19.2.1  大小和位置    516
19.2.2  外觀    516
19.2.3  用戶交互操作    516
19.2.4  Windows功能    517
19.2.5  雜項(xiàng)功能    518
19.2.6  類層次結(jié)構(gòu)    518
19.3  標(biāo)準(zhǔn)控件和組件    519
19.3.1  Button控件    520
19.3.2  CheckBox控件    521
19.3.3  ComboBox控件與ListBox控件    521
19.3.4  DateTimePicker控件    522
19.3.5  ErrorProvider組件    522
19.3.6  HelpProvider組件    524
19.3.7  ImageList組件    524
19.3.8  Label控件    524
19.3.9  ListView控件    525
19.3.10  Panel控件    527
19.3.11  PictureBox控件    527
19.3.12  ProgressBar控件    527
19.3.13  RadioButton控件    528
19.3.14  TextBox控件與RichTextBox控件    528
19.3.15  Splitter控件    529
19.3.16  StatusBar控件    529
19.3.17  TabControl控件和TabPages控件    530
19.3.18  Menu控件    530
19.3.19  ToolBar控件    532
19.4  窗體    534
19.4.1  Form類    534
19.4.2  多文檔界面    542
19.4.3  定制控件    545
19.5  小結(jié)    557
第20章  使用GDI+繪圖    558
20.1  理解繪圖規(guī)則    558
20.1.1  GDI和GDI+    558
20.1.2  繪制圖形    560
20.1.3  使用OnPaint()繪制圖形    563
20.1.4  使用剪切區(qū)域    564
20.2  測量坐標(biāo)和區(qū)域    565
20.2.1  Point和PointF結(jié)構(gòu)    566
20.2.2  Size和SizeF結(jié)構(gòu)    567
20.2.3  Rectangle和RectangleF結(jié)構(gòu)    568
20.2.4  Region    569
20.3  調(diào)試須知    570
20.4  繪制可滾動(dòng)的窗口    571
20.5  顏色    577
20.5.1  紅綠藍(lán)(RGB)值    577
20.5.2  命名的顏色    578
20.5.3  圖形顯示模式和安全的調(diào)色板    578
20.5.4  安全調(diào)色板    579
20.6  畫筆和鋼筆    579
20.6.1  畫筆    580
20.6.2  鋼筆    580
20.7  繪制圖形和線條    581
20.8  顯示圖像    583
20.9  繪制文本    586
20.10  字體和字體系列    588
20.11  示例:枚舉字體系列    590
20.12  編輯文本文檔:CapsEditor示例    592
20.12.1  Invalidate()方法    596
20.12.2  計(jì)算項(xiàng)和文檔的大小    597
20.12.3  OnPaint()    599
20.12.4  坐標(biāo)轉(zhuǎn)換    600
20.12.5  響應(yīng)用戶的輸入    602
20.13  打印    605
20.14  小結(jié)    610
第21章  .NET數(shù)據(jù)訪問    612
21.1  ADO.NET概述    612
21.1.1  命名空間    613
21.1.2  共享類    613
21.1.3  數(shù)據(jù)庫特定的類    613
21.2  使用數(shù)據(jù)庫連接    614
21.2.1  高效地使用連接    615
21.2.2  事務(wù)處理    618
21.3  命令    619
21.3.1  執(zhí)行命令    620
21.3.2  調(diào)用存儲(chǔ)過程    624
21.4  快速數(shù)據(jù)訪問:數(shù)據(jù)讀取器    627
21.5  管理數(shù)據(jù)和關(guān)系:DataSet類    630
21.5.1  數(shù)據(jù)表    630
21.5.2  數(shù)據(jù)列    631
21.5.3  數(shù)據(jù)關(guān)系    636
21.5.4  數(shù)據(jù)約束    638
21.6  XML模式    640
21.7  填充數(shù)據(jù)集    647
21.7.1  用數(shù)據(jù)適配器來填充 DataSet    647
21.7.2  從XML中給數(shù)據(jù)集填充數(shù)據(jù)    649
21.8  保存對數(shù)據(jù)集的修改    649
21.8.1  通過數(shù)據(jù)適配器進(jìn)行更新    649
21.8.2  寫入XML輸出結(jié)果    652
21.9  使用ADO.NET    654
21.9.1  分層開發(fā)    654
21.9.2  SQL Server的鍵生成    655
21.9.3  命名約定    657
21.10  小結(jié)    658
第22章  查看.NET數(shù)據(jù)    660
22.1  DataGrid控件    660
22.1.1  顯示列表數(shù)據(jù)    660
22.1.2  數(shù)據(jù)源    662
22.1.3  DataGrid類的層次結(jié)構(gòu)    669
22.2  數(shù)據(jù)綁定    673
22.2.1  簡單的綁定    673
22.2.2  數(shù)據(jù)綁定對象    674
22.3  Visual Studio .NET和數(shù)據(jù)訪問    679
22.3.1  創(chuàng)建一個(gè)連接    679
22.3.2  選擇數(shù)據(jù)    681
22.3.3  生成DataSet    683
22.3.4  更新數(shù)據(jù)源    684
22.3.5  構(gòu)建模式    686
22.3.6  其他常見的要求    691
22.4  小結(jié)    700
第23章  處理XML    701
23.1  .NET支持的XML標(biāo)準(zhǔn)    701
23.2  System.Xml命名空間    702
23.3  在.NET中使用MSXML    703
23.4  使用System.Xml類    705
23.5  讀寫流格式的XML    706
23.5.1  使用 XmlTextReader類    706
23.5.2  使用XmlValidatingReader類    710
23.5.3  使用XmlTextWriter類    713
23.6  在.NET中使用DOM    714
23.7  在NET中使用XPath和XSLT    721
23.7.1  System.Xml.XPath命名空間    721
23.7.2  System.Xml.Xsl命名空間    725
23.8  XML和ADO.NET    730
23.8.1  將ADO.NET數(shù)據(jù)轉(zhuǎn)換為XML文檔    730
23.8.2  把XML文檔轉(zhuǎn)換為 ADO.NET數(shù)據(jù)    739
23.8.3  讀寫DiffGram    741
23.9  在XML中串行化對象    744
23.10  小結(jié)    756
第24章  使用Active Directory    757
24.1  Active Directory的體系結(jié)構(gòu)    757
24.1.1  特性    758
24.1.2  Active Directory的概念    758
24.1.3  Active Directory數(shù)據(jù)的特性    762
24.1.4  模式    762
24.2  Active Directory的管理工具    763
24.2.1  Active Directory Users and Computers工具    764
24.2.2  ADSI Edit工具    765
24.3  Active Directory Service Interfaces    766
24.4  Active Directory編程    766
24.4.1  System.DirectoryServices命名空間中的類    767
24.4.2  綁定    767
24.4.3  獲取目錄項(xiàng)    771
24.4.4  對象集合    773
24.4.5  緩存    774
24.4.6  創(chuàng)建新對象    774
24.4.7  更新目錄項(xiàng)    775
24.4.8  訪問內(nèi)部的ADSI對象    776
24.4.9  在Active Directory中搜索    777
24.5  搜索用戶對象    781
24.5.1  用戶界面    781
24.5.2  獲取模式命名環(huán)境    782
24.5.3  獲取User類的屬性名    783
24.5.4  搜索用戶對象    784
24.6  小結(jié)    786
第25章  ASP.NET頁面    787
25.1  ASP.NET概述    787
25.2  ASP.NET Web窗體    788
25.3  ADO.NET和數(shù)據(jù)綁定    805
25.3.1  更新會(huì)議登記應(yīng)用程序    805
25.3.2  數(shù)據(jù)綁定的更多內(nèi)容    813
25.4  應(yīng)用程序配置    819
25.5  小結(jié)    820
第26章  Web服務(wù)    821
26.1  SOAP    821
26.2  WSDL    823
26.3  Web服務(wù)    824
26.3.1  創(chuàng)建Web服務(wù)    824
26.3.2  使用Web服務(wù)    828
26.4  擴(kuò)充會(huì)議登記示例    830
26.4.1  會(huì)議登記 Web服務(wù)    830
26.4.2  會(huì)議登記客戶程序    834
26.5  使用SOAP標(biāo)題交換數(shù)據(jù)    836
26.6  小結(jié)    841
第27章  用戶控件和定制控件    842
27.1  用戶控件    842
27.2  定制控件    849
27.2.1  定制控件的項(xiàng)目配置    850
27.2.2  基本的定制控件    853
27.2.3  創(chuàng)建合成的定制控件    858
27.3  測驗(yàn)民意的投票控件    860
27.3.1  Candidate 控件    862
27.3.2  StrawPoll控件構(gòu)建器    864
27.3.3  測試民意的投票類型    865
27.3.4  測試民意的投票控件    865
27.4  小結(jié)    872
第28章  COM的互操作性    873
28.1  .NET和COM    873
28.1.1  元數(shù)據(jù)    874
28.1.2  釋放內(nèi)存    874
28.1.3  接口    874
28.1.4  方法綁定    876
28.1.5  數(shù)據(jù)類型    876
28.1.6  注冊    876
28.1.7  線程    876
28.1.8  錯(cuò)誤處理    878
28.1.9  事件處理    878
28.2  編組    879
28.3  在.NET客戶程序中使用COM組件    879
28.3.1  創(chuàng)建COM組件    880
28.3.2  創(chuàng)建Runtime Callable Wrapper    884
28.3.3  線程問題    886
28.3.4  添加連接點(diǎn)    886
28.3.5  在Windows窗體中使用ActiveX控件    888
28.3.6  在ASP.NET中使用COM對象    891
28.4  在COM客戶程序中使用.NET組件    892
28.4.1  COM Callable Wrapper    892
28.4.2  創(chuàng)建.NET組件    892
28.4.3  創(chuàng)建類型庫    893
28.4.4  COM互操作特性    896
28.4.5  COM注冊    899
28.4.6  創(chuàng)建COM客戶程序    900
28.4.7  添加連接點(diǎn)    901
28.4.8  用sink對象創(chuàng)建客戶    902
28.4.9  在Internet Explorer中運(yùn)行Windows窗體控件    903
28.5  小結(jié)    904
第29章  Enterprise Services    905
29.1  概述    905
29.1.1  Enterprise Services簡史    905
29.1.2  使用Enterprise Services的場合    905
29.1.3  環(huán)境    906
29.1.4  自動(dòng)的事務(wù)處理    906
29.1.5  分布式事務(wù)處理    907
29.1.6  對象池    907
29.1.7  基于角色的安全性    907
29.1.8  排隊(duì)的組件    907
29.1.9  松散藕合的事件    907
29.2  創(chuàng)建簡單的COM+應(yīng)用程序    908
29.2.1  類ServicedComponent    908
29.2.2  應(yīng)用程序?qū)傩?nbsp;   908
29.2.3  創(chuàng)建組件    909
29.3  部署    910
29.3.1  自動(dòng)部署    910
29.3.2  手工部署    910
29.4  組件服務(wù)管理工具    911
29.5  客戶應(yīng)用程序    913
29.6  事務(wù)處理    913
29.6.1  ACID屬性    914
29.6.2  事務(wù)處理的屬性    914
29.6.3  事務(wù)處理的結(jié)果    915
29.6.4  示例應(yīng)用程序    915
29.7  小結(jié)    926
第30章  文件和注冊表操作    927
30.1  管理文件系統(tǒng)    927
30.1.1  表示文件和文件夾的.NET類    928
30.1.2  Path類    930
30.1.3  示例:文件瀏覽器    931
30.2  移動(dòng)、復(fù)制和刪除文件    936
30.3  讀寫文件    941
30.3.1  流    941
30.3.2  讀寫二進(jìn)制文件    942
30.3.3  讀寫文本文件    948
30.4  讀寫注冊表    954
30.4.1  注冊表    954
30.4.2  .NET注冊表類    956
30.4.3  SelfPlacingWindow示例    958
30.5  小結(jié)    964
第31章  訪問Internet    965
31.1  WebClient類    965
31.1.1  下載文件    966
31.1.2  基本的Web客戶示例    966
31.1.3  上傳文件    967
31.2  WebRequest類和WebResponse類    968
31.3  把輸出結(jié)果顯示為HTML頁面    971
31.4  實(shí)用工具類    974
31.4.1  URI    974
31.4.2  IP地址和DNS名稱    976
31.5  較低層的協(xié)議    978
31.6  小結(jié)    985
第32章  Windows服務(wù)    986
32.1  Windows服務(wù)    986
32.2  Windows服務(wù)的體系結(jié)構(gòu)    987
32.2.1  服務(wù)程序    987
32.2.2  服務(wù)控制程序    989
32.2.3  服務(wù)配置程序    989
32.3  System.ServiceProcess命名空間    989
32.4  創(chuàng)建Windows服務(wù)    989
32.4.1  使用套接字的類庫    990
32.4.2  TcpClient示例    994
32.4.3  Windows服務(wù)項(xiàng)目    996
32.4.4  線程和服務(wù)    1001
32.4.5  服務(wù)的安裝    1001
32.4.6  安裝程序    1001
32.5  服務(wù)的監(jiān)視和控制    1006
32.5.1  MMC計(jì)算機(jī)管理    1006
32.5.2  net.exe    1007
32.5.3  sc.exe    1008
32.5.4  Visual Studio .NET Server Explorer    1009
32.5.5  ServiceController類    1009
32.6  故障排除    1015
32.6.1  交互式服務(wù)    1015
32.6.2  事件日志    1016
32.6.3  性能監(jiān)視    1022
32.7  電源事件    1027
32.8  小結(jié)    1027

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號