Tải bản đầy đủ (.pdf) (1,174 trang)

Programming c sharp 4th 2005

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.08 MB, 1,174 trang )



ProgrammingC#,4thEdition
ByJesseLiberty


Publisher :O'Reilly
Tableof
PubDate :February2005

Contents
ISBN :0-596-00699-3
• Index
Pages :666
• Reviews

Reader

Reviews
ProgrammingC#,thetopsellingbookonMicrosoft'shigh• Errata
performanceC#programminglanguage,isnowinitsfourth
• Academic edition.Aimedatexperiencedprogrammersandwebdevelopers,
thiscomprehensiveguidefocusesonthefeaturesand
C#
programmingpatternsthatarenewtoC#,andfundamentalto

Iterators theprogrammingofwebservicesandwebapplicationson
Microsoft's.NETplatform.
C#

Generics
























ProgrammingC#,4thEdition
Tableof ByJesseLiberty

Contents

• Index
Publisher :O'Reilly
• Reviews

PubDate :February2005
Reader
ISBN :0-596-00699-3

Reviews
Pages :666
• Errata
• Academic
C#

Iterators
C#

Generics















Copyright

Preface
AboutThisBook
WhatYouNeedToUseThisBook
HowtheBookIsOrganized
WhoThisBookIsFor
C#2.0VersusC#1.1
C#VersusVisualBasic.NET
C#VersusJava
C#VersusCandC++
ConventionsUsedinThisBook
Support
We'dLiketoHearfromYou
SafariEnabled
Acknowledgments
PartI:TheC#Language






Chapter1.C#andthe.NETFramework









































Section1.1.The.NETPlatform
Section1.2.The.NETFramework
Section1.3.CompilationandtheMSIL
Section1.4.TheC#Language
Chapter2.GettingStarted:"HelloWorld"
Section2.1.Classes,Objects,andTypes
Section2.2.Developing"HelloWorld"
Section2.3.UsingtheVisualStudio.NETDebugger
Chapter3.C#LanguageFundamentals
Section3.1.Types
Section3.2.VariablesandConstants
Section3.3.Expressions
Section3.4.Whitespace
Section3.5.Statements
Section3.6.Operators
Section3.7.PreprocessorDirectives
Chapter4.ClassesandObjects
Section4.1.DefiningClasses
Section4.2.CreatingObjects
Section4.3.UsingStaticMembers
Section4.4.DestroyingObjects
Section4.5.PassingParameters
Section4.6.OverloadingMethodsandConstructors
Section4.7.EncapsulatingDatawithProperties
Section4.8.readonlyFields
Chapter5.InheritanceandPolymorphism
Section5.1.SpecializationandGeneralization
Section5.2.Inheritance
Section5.3.Polymorphism

Section5.4.AbstractClasses
Section5.5.TheRootofAllClasses:Object
Section5.6.BoxingandUnboxingTypes
Section5.7.NestingClasses
Chapter6.OperatorOverloading
Section6.1.UsingtheoperatorKeyword
Section6.2.SupportingOther.NETLanguages
Section6.3.CreatingUsefulOperators











































Section6.4.LogicalPairs



Section6.5.TheEqualityOperator











































































Section6.6.ConversionOperators
Chapter7.Structs
Section7.1.DefiningStructs
Section7.2.CreatingStructs
Chapter8.Interfaces
Section8.1.DefiningandImplementinganInterface
Section8.2.AccessingInterfaceMethods
Section8.3.OverridingInterfaceImplementations
Section8.4.ExplicitInterfaceImplementation
Chapter9.Arrays,Indexers,andCollections
Section9.1.Arrays
Section9.2.TheforeachStatement
Section9.3.Indexers
Section9.4.CollectionInterfaces
Section9.5.Constraints
Section9.6.List<T>
Section9.7.Queues
Section9.8.Stacks
Section9.9.Dictionaries
Chapter10.StringsandRegularExpressions
Section10.1.Strings
Section10.2.RegularExpressions
Chapter11.HandlingExceptions

Section11.1.ThrowingandCatchingExceptions
Section11.2.ExceptionObjects
Section11.3.CustomExceptions
Section11.4.RethrowingExceptions
Chapter12.DelegatesandEvents
Section12.1.Delegates
Section12.2.Multicasting
Section12.3.Events
Section12.4.UsingAnonymousMethods
Section12.5.RetrievingValuesfromMulticastDelegates
PartII:ProgrammingwithC#

Chapter13.BuildingWindowsApplications

Section13.1.CreatingaSimpleWindowsForm















































































Section13.2.CreatingaWindowsFormsApplication
Section13.3.XMLDocumentationComments
Chapter14.AccessingDatawithADO.NET
Section14.1.RelationalDatabasesandSQL
Section14.2.TheADO.NETObjectModel
Section14.3.GettingStartedwithADO.NET
Section14.4.UsingOLEDBManagedProviders
Section14.5.WorkingwithData-BoundControls
Chapter15.ProgrammingASP.NETApplicationsandWebServices
Section15.1.UnderstandingWebForms
Section15.2.CreatingaWebForm
Section15.3.AddingControls
Section15.4.DataBinding
Section15.5.WebServices
Section15.6.SOAP,WSDL,andDiscovery
Section15.7.BuildingaWebService
Section15.8.CreatingtheProxy
Chapter16.PuttingItAllTogether
Section16.1.TheOverallDesign
Section16.2.CreatingtheWebServicesClient
Section16.3.DisplayingtheOutput
Section16.4.SearchingbyCategory
PartIII:TheCLRandthe.NETFramework
Chapter17.AssembliesandVersioning
Section17.1.PEFiles
Section17.2.Metadata
Section17.3.SecurityBoundary
Section17.4.Manifests
Section17.5.MultimoduleAssemblies

Section17.6.PrivateAssemblies
Section17.7.SharedAssemblies
Chapter18.AttributesandReflection
Section18.1.Attributes
Section18.2.Reflection
Chapter19.MarshalingandRemoting
Section19.1.ApplicationDomains
Section19.2.Context
Section19.3.Remoting




Chapter20.ThreadsandSynchronization



Section20.1.Threads




Section20.2.Synchronization
Section20.3.RaceConditionsandDeadlocks



































Chapter21.Streams
Section21.1.FilesandDirectories

Section21.2.ReadingandWritingData
Section21.3.AsynchronousI/O
Section21.4.NetworkI/O
Section21.5.WebStreams
Section21.6.Serialization
Section21.7.IsolatedStorage
Chapter22.Programming.NETandCOM
Section22.1.ImportingActiveXControls
Section22.2.ImportingCOMComponents
Section22.3.Exporting.NETComponents
Section22.4.P/Invoke
Section22.5.Pointers
AppendixA.C#Keywords
Colophon
Index


Copyright©2005,2003,2002,2001O'ReillyMedia,Inc.All
rightsreserved.
PrintedintheUnitedStatesofAmerica.
PublishedbyO'ReillyMedia,Inc.,1005GravensteinHighway
North,Sebastopol,CA95472.
O'Reillybooksmaybepurchasedforeducational,business,or
salespromotionaluse.Onlineeditionsarealsoavailablefor
mosttitles().Formoreinformation,
contactourcorporate/institutionalsalesdepartment:(800)
998-9938or
NutshellHandbook,theNutshellHandbooklogo,andthe
O'ReillylogoareregisteredtrademarksofO'ReillyMedia,Inc.
ProgrammingC#,theimageofanAfricancrownedcrane,and

relatedtradedressaretrademarksofO'ReillyMedia,Inc.
Manyofthedesignationsusedbymanufacturersandsellersto
distinguishtheirproductsareclaimedastrademarks.Where
thosedesignationsappearinthisbook,andO'ReillyMedia,Inc.
wasawareofatrademarkclaim,thedesignationshavebeen
printedincapsorinitialcaps.
Whileeveryprecautionhasbeentakeninthepreparationofthis
book,thepublisherandauthorsassumenoresponsibilityfor
errorsoromissions,orfordamagesresultingfromtheuseof
theinformationcontainedherein.


Preface
Every10yearsorso,anewtechnologyarrivesthatchanges
thewaywethinkaboutapplicationdevelopment.Intheearly
1980s,thenewtechnologieswereUnix,whichcouldberunon
adesktop,andapowerfulnewlanguagecalledC,developedby
AT&T.Theearly'90sbroughtWindowsandC++.Each
developmentrepresentedaseachangeinthewaywe
approachedprogramming.In2000,.NETandC#werethenext
wave,and.NET2.0completesthetransition.
Microsofthas"betthecompany"on.NET.Whenacompanyof
itssizeandinfluencespendsbillionsofdollarsandreorganizes
itsentirecorporatestructuretosupportanewplatform,
programmerstakenotice.Itturnsoutthat.NETrepresentsa
majorchangeinthewayyou'llthinkaboutprogramming.Itis,
inshort,anewdevelopmentplatformdesignedtofacilitate
object-orientedInternetdevelopment.Theprogramming
languageofchoiceforthisplatformisC#,whichbuildsonthe
lessonslearnedfromC(highperformance),C++(objectorientedstructure),Java©(garbagecollection,highsecurity),

andVisualBasic(rapiddevelopment)tocreateanewlanguage
ideallysuitedfordevelopingcomponent-based,n-tier
distributedwebapplications.
C#2.0,thelanguageofchoicefor.NET2005,comeswith
updatedtoolsandapowerfulnewdevelopmentenvironment.It
isthecrowningachievementofMicrosoft'sR&Dinvestment.It
iswickedcool.


AboutThisBook
Thisbookisatutorial,bothonC#andonwriting.NET
applicationswithC#.
IfyouareaproficientC#1.1programmer,andallyouwantto
knowiswhatisnewinC#2.0,putthisbookdown,andbuy
VisualC#2005:ADeveloper'sNotebook(O'ReillyMedia,Inc.).
If,ontheotherhand,youwanttobrushuponyourC#skills,
oryouareproficientinanotherprogramminglanguagelike
C++orJava,orevenifthisisyourfirstprogramminglanguage,
thenthisbookisforyou.


WhatYouNeedToUseThisBook
StartingwiththeBetareleaseofVisualStudioWhidbey(2005),
Microsofthasmadeitmucheasierforyoutogetaccesstotheir
works-in-progress.Thereareseveraloptionsavailabletoyou:
justasVisualStudiocomesinmanyflavors,theprerelease
versionsof.NET2.0andVisualStudio2005comeinmany
forms:

DownloadtheSDK


TheBetaSDK,whichincludescommand-linecompilers,
documentation,andothertools,isavailableasafree
downloadfrom
/>Thisisasmalldownload,butyou'llneedtobringyourown
codeeditor(anythingfromNotepadtoSharpDevelopwill
do).

ExpressEditions
Microsofthasreleasedstripped-downversionsofVisual
Studiothataresmalldownloads,soyoucangetupand
runningquickly.YoucandownloadtheExpressEditions
fromUseVisual
C#Expressformostoftheexamplesinthisbook.You'll
needVisualWebDeveloperExpressforsomeofthe
examples,andyou'llneedtoinstallSQLServerExpressor
MSDE(MicrosoftDataEngine)forsomeoftheADO.NET
examples.


BetaandCommunityTechPreview
MicrosofthasalsomadefullversionsofVisualStudio2005
availablefordownload.Thesecomeintwoforms:
CommunityTechnologyPreview(CTP),whicharesomewhat
rougharoundtheedges,andfull-fledgedbetareleases.At
thetimeofthiswriting,CTPsisavailabletoMSDN
subscribersforVisualStudioProfessional,Standard,and
TeamSystem.Beta1ofVisualStudioProfessionalisalso
availabletoMSDNsubscribersandtononsubscribersforthe
costofshipping.Formoreinformation,see

/>
Mono
TheMonoProjectisanopensourcedevelopmentplatform
basedon.NET.It'ssponsoredbyNovell,andrunsonLinux,
MacOSX,andotheroperatingsystem.Althoughthe
currentversionistargetedat.NET1.1,youcanchooseto
installitwithsupportforsome.NET2.0features.Formore
information,see />ProgrammingC#,FourthEdition,willworkwithanyofthese
environments.However,becauseeachoneisataslightly
differentversionlevel,somescreenshotsmaydifferfromwhat
yousee.Inshort,yourmileagemayvary.


HowtheBookIsOrganized
PartIfocusesonthedetailsofthelanguage,PartIIdiscusses
howtowrite.NETprograms,andPartIIIdescribeshowtouse
C#withthe.NETCommonLanguageRuntimeandFramework
ClassLibrary.

PartI,TheC#Language
Chapter1,introducesyoutotheC#languageandthe.NET
platform.
Chapter2,demonstratesasimpleprogramtoprovideacontext
forwhatfollows,andintroducesyoutotheVisualStudioIDE
andanumberofC#languageconcepts.
Chapter3,presentsthebasicsofthelanguage,frombuilt-in
datatypestokeywords.
Classesdefinenewtypesandallowtheprogrammertoextend
thelanguagesothathecanbettermodeltheproblemhe's
tryingtosolve.Chapter4,explainsthecomponentsthatform

theheartandsoulofC#.
Classescanbecomplexrepresentationsandabstractionsof
thingsintherealworld.Chapter5,discusseshowclassesrelate
andinteract.
Chapter6,teachesyouhowtoaddoperatorstoyouruserdefinedtypes.
Chapter7andChapter8introduceStructsandInterfaces,
respectively,bothclosecousinstoclasses.Structsare
lightweightobjectsthataremorerestrictedthanclasses,and
thatmakefewerdemandsontheoperatingsystemandon


memory.Interfacesarecontracts:theydescribehowaclasswill
worksothatotherprogrammerscaninteractwithyourobjects
inwell-definedways.
Object-orientedprogramscancreateagreatmanyobjects.Itis
oftenconvenienttogrouptheseobjectsandmanipulatethem
together,andC#providesextensivesupportforcollections.
Chapter9,exploresthecollectionclassesprovidedbythe
FrameworkClassLibrary,thenewGenericcollections,andhow
tocreateyourowncollectiontypesusingGenerics.
Chapter10,discusseshowyoucanuseC#tomanipulatetext
stringsandregularexpressions.MostWindowsandweb
programsinteractwiththeuser,andstringsplayavitalrolein
theuserinterface.
Chapter11,explainshowtodealwithexceptions,whichprovide
anobject-orientedmechanismforhandlinglife'slittle
emergencies.
BothWindowsandwebapplicationsareevent-driven.InC#,
eventsarefirst-classmembersofthelanguage.Chapter12,
focusesonhoweventsaremanagedandhowdelegates(objectorientedtype-safecallbackmechanisms)areusedtosupport

eventhandling.

PartII,ProgrammingwithC#
PartIIdetailshowtowrite.NETprograms:bothdesktop
applicationswithWindowsFormsandwebapplicationswith
WebForms.Inaddition,PartIIdescribesdatabaseinteractivity
andhowtocreatewebservices.
Ontopofthe.NETinfrastructuresitsahigh-levelabstractionof
theoperatingsystem,designedtofacilitateobject-oriented
softwaredevelopment.ThistoptierincludesASP.NETand


WindowsForms.ASP.NETincludesbothWebForms,forrapid
developmentofwebapplications,andwebservices,forcreating
webobjectswithnouserinterface.Awebserviceisa
distributedapplicationthatprovidesfunctionalityviastandard
webprotocols,mostcommonlyXMLandHTTP.
C#providesaRapidApplicationDevelopment(RAD)model
similartothatpreviouslyavailableonlyinVisualBasic.Chapter
13,describeshowtousethisRADmodeltocreateprofessionalqualityWindowsprogramsusingtheWindowsForms
developmentenvironment.
WhetherintendedfortheWeborforthedesktop,most
applicationsdependonthemanipulationandmanagementof
largeamountsofdata.Chapter14,explainstheADO.NETlayer
ofthe.NETFrameworkandhowtointeractwithMicrosoftSQL
Serverandotherdataproviders.
Chapter15focusesonthetwopartsofASP.NETtechnology:
WebFormsandWebServices.
Chapter16,combinesanumberoftheskillstaughtinPartIIto
showyouhowtobuildasetofintegratedapplications.


PartIII,TheCLRandthe.NETFramework
Aruntimeisanenvironmentinwhichprogramsareexecuted.
TheCommonLanguageRuntime(CLR)istheheartof.NET.It
includesadata-typingsystemthatisenforcedthroughoutthe
platformandthatiscommontoalllanguagesdevelopedfor
.NET.TheCLRisresponsibleforprocessessuchasmemory
managementandreferencecountingofobjects.
Anotherkeyfeatureofthe.NETCLRisgarbagecollection.
UnlikewithtraditionalC/C++programming,inC#the
developerisn'tresponsiblefordestroyingobjects.Endlesshours


spentsearchingformemoryleaksareathingofthepast;the
CLRcleansupafteryouwhenyourobjectsarenolongerinuse.
TheCLR'sgarbagecollectorcheckstheheapforunreferenced
objectsandfreesthememoryusedbytheseobjects.
The.NETplatformandclasslibraryextendupwardtothe
middle-levelplatform,whereyoufindaninfrastructureof
supportingclasses,includingtypesforinterprocess
communication,XML,threading,I/O,security,diagnostics,etc.
Themiddletieralsoincludesthedata-accesscomponents
collectivelyreferredtoasADO.NET.
PartIIIofthisbookdiscussestherelationshipofC#totheCLR
andtheFrameworkClassLibrary.
Chapter17,distinguishesbetweenprivateandpublic
assembliesanddescribeshowassembliesarecreatedand
managed.In.NET,anassemblyisacollectionoffilesthat
appearstotheusertobeasingledynamiclinklibrary(DLL)or
executablefile.Anassemblyisthebasicunitofreuse,

versioning,security,anddeployment.
.NETassembliesincludeextensivemetadataaboutclasses,
methods,properties,events,andsoforth.Thismetadatais
compiledintotheprogramandretrievedprogrammatically
throughreflection.Chapter18,exploreshowtoaddmetadata
toyourcode,howtocreatecustomattributes,andhowto
accessthismetadatathroughreflection.Itgoesontodiscuss
dynamicinvocation,inwhichmethodsareinvokedwithlate
(runtime)binding.
The.NETFrameworkwasdesignedtosupportweb-basedand
distributedapplications.ComponentscreatedinC#mayreside
withinotherprocessesonthesamemachineoronother
machinesacrossthenetworkoracrosstheInternet.Marshaling
isthetechniqueofinteractingwithobjectsthataren'treally
there,whileremotingcomprisestechniquesforcommunicating
withsuchobjects.Chapter19,elaborates.


TheFrameworkClassLibraryprovidesextensivesupportfor
asynchronousI/Oandotherclassesthatmakeexplicit
manipulationofthreadsunnecessary.However,C#doesprovide
extensivesupportforThreadsandSynchronization,discussedin
Chapter20.
Chapter21discussesStreams,amechanismnotonlyfor
interactingwiththeuser,butalsoforretrievingdataacrossthe
Internet.ThischapterincludesfullcoverageofC#supportfor
serialization:theabilitytowriteanobjectgraphtodiskand
readitbackagain.
Chapter22,exploresinteroperabilitytheabilitytointeractwith
COMcomponentsthatarecreatedoutsidethemanaged

environmentofthe.NETFramework.It'spossibletocall
componentsfromC#applicationsintoCOMandtocall
componentsfromCOMintoC#.Chapter22describeshowthis
isdone.
ThebookconcludeswithanappendixofC#keywords.


WhoThisBookIsFor
ProgrammingC#,FourthEdition,waswrittenforprogrammers
whowanttodevelopapplicationsforthe.NETplatform.No
doubtmanyofyoualreadyhaveexperienceinC++,Java,or
VisualBasic(VB).Otherreadersmayhaveexperiencewith
otherprogramminglanguages,andsomereadersmayhaveno
specificprogrammingexperiencebutperhapshavebeen
workingwithHTMLandotherwebtechnologies.Thisbookis
writtenforallofyou,thoughifyouhavenoprogramming
experienceatall,youmayfindsomeofittoughgoing.
Ifyou'remigratingfromC,C++,VB6,orJava,thefollowing
sectionsshouldgiveyousomebasiccomparisonswithC#.More
importantly,keepaneyeoutfornotesspecificallyforyou
throughoutthebook.


C#2.0VersusC#1.1
TherehavebeenmanychangestoC#andtothedevelopment
environmentandthe.NETFrameworksince1.1.Allare
designedtominimizetheamountof"plumbing"youhaveto
write,andtohelpyoufocusonbuildingrobustapplications.
Thisbookintegratesthechangesandisn'tintendedtobea
guidefortheproficientC#1.1programmerlookingonlyforthe

changesinC#2.0.Thatsaid,IdotrytoflagwhatisnewinC#
2.0aswegoalong.


C#VersusVisualBasic.NET
Thepremiseofthe.NETFrameworkisthatalllanguagesare
createdequal.ToparaphraseGeorgeOrwell,however,some
languagesaremoreequalthanothers.C#isanexcellent
languagefor.NETdevelopment.Youwillfinditisanextremely
versatile,robust,andwell-designedlanguage.Itisalso
currentlythelanguagemostoftenusedinarticlesandtutorials
about.NETprogramming.
ItispossiblethatmanyVB6programmerswillchoosetolearn
C#insteadofupgradingtheirskillstoVB.NET.Thetransition
fromVB6toVB.NETis,arguably,nearlyasdifficultasfromVB
6toC#,and,whetherit'sfairornot,historically,C-family
programmershavehadhigherearningpotentialthanVB
programmers.Asapracticalmatter,VBprogrammershave
nevergottentherespectorcompensationtheydeserve,andC#
offersawonderfulchancetomakeapotentiallylucrative
transition.
Inanycase,ifyoudohaveVBexperience,welcome!Thisbook
wasdesignedwithyouinmindtoo,andI'vetriedtomakethe
conversioneasy.


C#VersusJava
JavaprogrammersmaylookatC#withamixtureof
trepidation,glee,andresentment.Ithasbeensuggestedthat
C#issomehowa"rip-off"ofJava.Iwon'tcommentonthe

religiouswarbetweenMicrosoftandthe"anyonebutMicrosoft"
crowd,excepttoacknowledgethatC#certainlylearnedagreat
dealfromJava.ButthenJavalearnedagreatdealfromC++,
whichoweditssyntaxtoC,whichinturnwasbuiltonlessons
learnedinotherlanguages.Weallstandontheshouldersof
giants.
C#offersaneasytransitionforJavaprogrammers:thesyntax
isverysimilarandthesemanticsarefamiliarandcomfortable.
Javaprogrammerswillprobablywanttofocusonthe
differencesbetweenJavaandC#tousetheC#language
effectively.I'vetriedtoprovideaseriesofmarkersalongthe
way(seethenotestoJavaprogrammerswithinthechapters).


C#VersusCandC++
Whileitispossibletoprogramin.NETwithCorC++,itisn't
easyornatural.Frankly,havingworkedfor10yearsasaC++
programmerandwrittenadozenbooksonthesubject,I'd
ratherhavemyteethdrilledthanworkwithmanagedC++.
PerhapsitisjustthatC#issomuchfriendlier.Inanycase,
onceIsawC#,Ineverlookedback.
Becareful,though;thereareanumberofsmalltrapsalongthe
way,andI'vebeencarefultomarkthesewithflashinglights
andyellowcones.


ConventionsUsedinThisBook
Thefollowingfontconventionsareusedinthisbook:
Italicisusedfor:
Pathnames,filenames,andprogramnames

Internetaddresses,suchasdomainnamesandURLs
Newtermswheretheyaredefined
ConstantWidthisusedfor:
Commandlinesandoptionsthatshouldbetypedverbatim
Namesandkeywordsinprogramexamples,including
methodnames,variablenames,andclassnames
ConstantWidthItalicisusedfor:
Replaceableitems,suchasvariablesoroptionalelements,
withinsyntaxlinesorcode
ConstantWidthBoldisusedfor:
Emphasiswithinprogramcode
Payspecialattentiontonotessetapartfromthetextwiththe
followingicons:


Thisisatip.Itcontainsusefulsupplementaryinformationaboutthe
topicathand.

Thisisawarning.Ithelpsyousolveandavoidannoyingproblems.


Support
Aspartofmyresponsibilitiesasauthor,Iprovideongoing
supportformybooksthroughmywebsite:

Youcanalsoobtainthesourcecodeforalltheexamplesin
ProgrammingC#atmysite.Youwillfindaccesstoabooksupportdiscussiongroupwithasectionsetasideforquestions
aboutC#.Beforeyoupostaquestion,however,pleasecheck
theFAQ(FrequentlyAskedQuestions)anderratafiles.Ifyou
checkthesefilesandstillhaveaquestion,pleasegoaheadand

posttothediscussioncenter.
Themosteffectivewaytogethelpistoaskaveryprecise
questionoreventocreateasmallprogramthatillustratesyour
areaofconcernorconfusion.Youmayalsowanttocheckthe
variousnewsgroupsanddiscussioncentersontheInternet.
Microsoftoffersawidearrayofnewsgroups,andDevelopMentor
()haswonderful.NETemail
discussionlists.


We'dLiketoHearfromYou
Wehavetestedandverifiedtheinformationinthisbooktothe
bestofourability,butyoumayfindthatfeatureshavechanged
(oreventhatwehavemademistakes!).Pleaseletusknow
aboutanyerrorsyoufind,aswellasyoursuggestionsforfuture
editions,bywritingto:
O'ReillyMedia,Inc.
1005GravensteinHighwayNorth
Sebastopol,CA95472
(800)998-9938(intheUnitedStatesorCanada)
(707)829-0515(internationalorlocal)
(707)829-0104(fax)
Wehaveawebpageforthebookthatlistsexamplesandany
plansforfutureeditions.Youcanaccessthisinformationat:
/>Tocommentorasktechnicalquestionsaboutthisbook,send
emailto:

Formoreinformationaboutourbooks,conferences,Resource
Centers,andtheO'ReillyNetwork,aswellasadditional
technicalarticlesanddiscussiononC#andthe.NET

Framework,seetheO'Reillywebsite:

andO'Reilly'sONDotnet:



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×