465IndexNumerics#(hashcharacter),145#definehashcode,153#elifhashcode,153#elsehashcode,153#endifblock,145#endifhashcode,153#endregionhashcode,153#ifblock,145#ifhashcode,153#regionhashcode,153#undefhashcode,153&(AND)operator,108*(multiplication)operators,449||(OR)operator,108++operator,456(anglebrackets),231/(division)operators,449-(subtraction)operators,449Aabexpression,108a>=bexpression,108!
aexpression,108Abort()method,359abstractidentifier,277abstractkeywords,134,141,152,154,186abstractinginstantiations,withfactories,175–176abstraction,389AcquireReaderLock()method,371AcquireWriterLock()method,371actionmethod,119actionobjects,separatingfromdataobjects,282ActiveCurrencyTraderclass,142,147–150addingconstructorto,148addingconversionmethodsto,150defininginformationalread-onlyproperties,148–149ActiveCurrencyTradermethod,154ActiveXDataObject(ADO),387Add()method,44,48,227writing,34–36writingcodetotest,36–40addingtestprojects,37–38testingadditionoftwolargenumbers,39–40testingsimpleaddition,38–39identifier,332additionoperator,449–450AddNumbersmethod,462AddPercentage()method,442AddRange()method,247AddRoomGrouping()method,210AddRoomToGrouping()method,215AddValue()method,281ADO(ActiveXDataObject),387466INDEXADO.
NETaccessingrelationaldatabasesusing,396–401addingtabledata,397–399closingconnections,401connecting,397deletingdatafrom,400selectingdatafromtables,399–400drivers,389ADO.
NETlayer,388AI(artificialintelligence)system,75algorithms,75implementingusinglambdaexpressions,245–246lambdaexpressions,245allotest,64alloappendtest,64Alpha,346alteringdata,423–424AmericanStandardCodeforInformationInterchange(ASCII),67_amountdatamember,176AND(&)operation,451AND(&&)operator,108anglebrackets(),231anonymousdelegates,240anonymoustypes,selectingwith,424–425anonymousvariable,241AnotherObjectThatEmbedsSomeObjecttype,434API(applicationprogramminginterface),59App.
configfiles,331Append()method,285applicationdevelopment.
Seedevelopment,softwareapplicationmode,115applicationprogramminginterface(API),59appSettingsfolder,332AppSettingsproperty,333section,333,341,351Architecturalcode,134AreYouPreHeated()method,139ArgumentException()method,118ArgumentExceptiontype,124ArgumentNullExceptiontype,124ArgumentOutOfRangeExceptiontype,124arithmeticoperators,449–453addition,449–450bitwise,452decrement,452–453increment,452–453modulus,452ArithmeticExceptiontype,124ArrayListclass,226ArrayListinstance,227arrays,201artificialintelligence(AI)system,75ASCII(AmericanStandardCodeforInformationInterchange),67assembliesdynamicloadingof,333–341dynamicallyinstantiatingtypes,333–337enhancingconfigurationfiles,337–341dynamicloadingofstronglynamed,342–348relocatingtoGAC,343–345usingversionnumbers,345–348signing,327–328versioning,346–347assemblyvariable,335assemblyBindingconfigurationfile,348AssemblyFileVersionattribute,346assemblyIdentitychildelement,348AssemblyInfo.
csfile,342,346Assembly.
Load()method,343AssemblyVersionattribute,346Assert.
AreEquals()method,70AssignCellState()method,314,316assignmentoperator,449AssumeReferenceTypeinterface,460467INDEXasynchronoustechniques,378AsyncStatedatamember,380AsyncWaitHandle.
WaitOne()method,379attributes,277Attributesdatamember,451availableTypesdictionarycollection,341BbackToDerivedvariable,191baseclasses,131,134–135,146–147,161,171–176abstractinginstantiationswithfactories,175–176overridingforspecializedfunctionality,172–174basefunctionality,179–184basetype,163base.
CalculateTaxToPay()method,173BaseGeneratedclass,463BaseLinkedListclass,202–204Base.
Method()method,190BaseTaxEngineclass,179BaseTaxEngineinterface,175BaseTaxEngine.
CalculateTaxToPay()method,173BaseTypeparameter,304BaseTypereferences,298BaseTypetype,314,316Beckman,Brian,436BeginRead()method,379Behavioralfunctional,170binarydatastreams,273binarystreams,279–280,287Binary2Textapplication,251,273Binary.
BinaryFormattertype,279BinaryFormatterclass,280bindingRedirectchildelement,348bit,45bitwiseoperators,452blackboxcontext,289boolproperties,199,297boolreturntypedelegatesignature,243Bootstrapclass,288bootstrapcode,255Bootstrap.
Process()method,256boxing,192,230BreadthFirstSearchclass,98breakstatement,457bruteforce,78bufferparameter,128buffer.
Trim()method,61Buildtab,329Builder.
BuildWhatAmI()method,314Buttoncontrol,9button_Clickfunction,10byte,45bytetype,45CC#collectionmanagementbeforeversion2.
0,226–231example,226–228mixedtypes,228valuetypes,229–230interfaces,162–164,191properties,137–140,289problemswith,138–140rewritingtestcodetouse,137–138C#3.
0functionalprogramming,433–435,447functionevaluation,444–446higher-orderfunctions,436–439purefunctions,439–444recursion,446–447gotostatement,456–457.
NETgenericsconstraints,457–460class,460new,459type,457–459nullabletypes,460–462468INDEXoperators,456arithmetic,449–453overloading,454–456overview,433partialclasses,462–464partialmethods,462–464Calculate()method,320–321,438CalculateArea()method,164_calculatedTaxabledatamember,172CalculateGrandTotal()method,442CalculateTaxToPay()method,172calculatingaverages,318–321calculatorapplicationAdd()method,34–40developmentof,28–32finishing,48numbers,computerunderstandingof,41–43Calculatorclasslibrary,32,37,39,42Calculator.
csfile,34CallStackpane,114CallingExampleinstance,125CallMethodmethod,456CallRuntimeImplementationclasslibrary,326CallRuntimeImplementationproject,327CallRuntimeImplementation.
exe.
configconfigurationfile,330Canadiantaxes,179CanContinue()method,108CanContinueSearch()method,107,109catchblock,118–119,122–123,129catchkeyword,118catchstatement,122catchingexceptions,115–118cbvariable,237CellFactoriesclass,246Cellsdatamember,245,311CellStatedatamember,311charactermapping,66–67character-by-charactercomparison,59–60characters=>,243CIL(CommonIntermediateLanguage),23Citynameattribute,86classconstraint,460classkeyword,87,146classlibraries,32–43Add()methodwriting,34–36writingcodetotest,36–40numbers,computerunderstandingof,41–43classlibrary,4,52classlibraryproject,17–23addingtosolutions,17callingfunctionality,19–20definingreferences,19movingfunctionality,18variables,21–23Class1.
csfile,14,53classesdeclaring,78definingNodeelementsbyswitchingto,92–93ClassWithNoSideEffectsvariable,441ClassWithoutSideEffectsconstructor,445ClassWithSideEffectsvariable,441Clear()method,302CLI(CommonLanguageInfrastructure),43cloning,synchronizingbetweenthreadswith,366closingconnectionstorelationaldatabases,401CLR(commonlanguageruntime),24,44–48clsvariable,163cls.
GetDepth()method,125cls.
Method()method,163cmdtype,15cmd.
Connectionproperty,398ColCellsdatamember,311469INDEXcollectiontypes,249key/valuepairlists,247–248plain-vanillalists,247Queuelists,248Stacklists,248collections,250collectiontypes,249key/valuepairlists,247–248plain-vanillalists,247Queuelists,248Stacklists,248delegates,235–241anonymous,240declaring,236–237extensionmethods,236–237implementing,237–239multicastingwith,241lambdaexpressions,241–246creatingalgorithms,245implementingalgorithmsusing,245–246pre-C#2.
0stylemanagementof,226–231example,226–228mixedtypes,228valuetypes,229–230storingusinglinkedlists,202comments,addingtoWindowsapplicationproject,11CommonIntermediateLanguage(CIL),23CommonLanguageInfrastructure(CLI),43commonlanguageruntime(CLR),24,44–48CommonTypeSystem(CTS),25Compare()link,60CompareTo()method,53,54,55,59,63,65complextypes,322ComplexIncrementmethod,456ComplexTypeimmutabletype,454component-orientedarchitecturekernels,193–194lightingapplicationbuildingkernels,195,217definingrooms,218organizing,194–195PrivateRoomimplementations,219–220PublicRoomimplementation,219–220objectinitializationwithnesteddatatypes,221–222privateclasses,221components,31,49,168–170,192concretizing,291conditionalstatements,144–145.
configextension,330,351element,338,340configurationarchitecture,decouplingusing,325configurationfiles,329–333addingassemblyredirectionto,347–348addingdynamicloadingitems,332enhancing,337–341marshalingdata,338–340reading,340–341reading,332–333XML-based,330–331configurationidentifier,331:configuration:stringidentifier,302ConfigurationExceptionfailure,129ConfigurationInfoclass,333ConfigurationLoaderclass,333,335,336ConfigurationLoader()method,336ConfigurationLoader.
Instancestaticproperty,336ConfigurationManagerclass,333ConfigurationManagerreference,341ConfigurationManagerstaticclass,335ConfigurationPropertyproperty,338–339ConfigurationPropertyOptions.
IsRequiredparameter,339ConfigurationSectionclass,339configuringDataSource,390–393connectingtorelationaldatabases,397470INDEXconnectionvariable,397Connectionsarray,91Connectionsattribute,86Connectionsdatamember,87,90Connectionsdefinitions,109Connectionsstring,88consoleapplication,4consoleapplicationproject,15–17addingtosolutions,16"hello,world",16running,17settingstartupproject,16–17consoletestingapplication,160consoles,pipingdatabuildingshells,254–263readingdata,252–254TextProcessorapplication,263–272Console.
WriteLine()method,20,311,316constkeyword,22constants,classlibraryproject,21–23constructors,89addingtoActiveCurrencyTraderclass,148addingtoHotelCurrencyTraderclass,150–151Containerclass,290Contains()method,271convention-basedarchitecturedecouplingusing,325implementing,350conversionmethods,147addingtoActiveCurrencyTraderclass,150addingtoHotelCurrencyTraderclass,151–152ConvertFrom()method,150–151,155convertingbinarystreamsintotextstreams,279–280textstreamsintobinarystreams,278ConvertTo()method,150–151,155ConvertToTextField()method,156ConvertValue()method,146,149ConvertValueInverse()method,146,149–150Coordinatesattribute,86copyingdata,effectsof,79–81Count()method,318countvariable,453Counter()method,446countryvariable,439CreateCapitalGain()method,183CreateDeduction()method,172CreateIncome()method,172CreateInstance()method,335CreatePrivateRoom()method,220CreatePublicRoom()method,220CreateSurtaxTaxEngine()method,175CreateTaxAccount()method,172,179,182–183CreatingBuilding()method,220cross-referencing,325CTS(CommonTypeSystem),25CultureInfoinstance,71cultures,67–73numbers,68–71settinginWindows,67curlybrackets,79,118currencyconvertersActiveCurrencyTraderclass,147–150addingconstructorsto,148addingconversionmethodsto,150defininginformationalread-onlyproperties,148–149HotelCurrencyTraderclass,150–152addingconstructorsto,150–151addingconversionmethodsto,151–152471INDEXcurrencyexchangeapplicationorganizing,133writingtestsforbaseclasses,134–135,146–147C#properties,137–140inheritance,135–142scopemodifiers,142–143structuralcode,133verification,143–146currencyspreads,132CurrencyTraderclass,134,140–141,155CurrencyTraderlibrarycomponent,133CurrencyTrader.
_exchangeRatedatamember,142CurrencyTrader.
ConvertValue()method,150CurrencyTrader.
ConvertValueInverse()method,150CurrentCultureproperty,73currExchangeparameter,148curriedFunctionvariable,438CurrVersionvariable,321curryexpression,438currying,436customoptimization,25custom-definedtypes,78–85declaringstructs/classes,78objects,56–59valuetypes,constraints,79–85DDataAccessObject(DAO),387dataclass,333datamembersdeclaringasnonserializable,282scopes,131static,94–97dataobjects,separatingfromactionobjects,282DataSource,configuring,390–393datastreams,251fixing,269–272duplicatedates,271–272emptyfields,270–271emptylinesoftext,270incorrectdataformat,271toomanyfields,270–271implementingreading/writing,259–263reading/writingto,255–259datastructure,87–97Nodeelementsinitializing,88–90instantiating,88–90switchingtoclassestodefine,92–93referencingusingvaluetypes,90–92staticdatamembers,94–97staticmethods,94–97datatypes.
Seecustom-definedtypes;number-relatedtypes;stringtypesdatabasenormalization,385databaserelations,385–387DatabaseConsoleExconsoleproject,389DatasetDesigner,401–407buildingrelationsbetweentables,402–406generatedcode,406–407datasetvariable,407dataset.
drawsdatamember,407datetimetype,394DateTime.
Parse()method,72DbTypeproperty,IDbDataParametertype,398deadlocks,366–370,381Debugboolproperty,297Debugflag,297Debuginterface,296–297debuggers,114–115,208decimaltype,46,48472INDEXdecisions,78–85,111declaringstructs/classes,79–85depth-firstsearchalgorithm,75–78,87,110datastructures,87–97definingtestfor,97–101implementing,101–109organizing,85–86running,109–110declaringdatamembersasnonserializable,282delegates,236–237decoratingafunction,436decouplingusingconfigurationarchitecture,325usingconventionarchitecture,325decrementoperator,452–453de-DEcultureinformation,72deductions,159defaultevent,11definingDebuginterface,296–297interfaces,170–171,196–200,276INoRemoteControlRoom,197–198IRemoteControlRoom,198–199IRoomplaceholder,196–197ISensorRoom,199–200IWorkbookinterface,301–304IWorksheetinterface,298–301IWorksheetBaseinterface,298–301kernelsasinterfaces,216–217types,276–278Definitionsassembly,217Definitionsclasslibrary,326delegatekeyword,236DelegateImplementationsclass,238delegates,235–241,249anonymous,240declaring,236–237extensionmethods,236–237implementing,237–239multicastingwith,241deletingdatafromrelationaldatabases,400dependencies,162dependentAssemblyelement,348depth-firstsearchalgorithm,75–78organizing,85–86writingcode,87datastructure,87–97definingtest,97–101implementing,101–109running,109–110DepthFirstFindRoute()method,97DepthFirstSearch().
_rootdatamember,102DepthFirstSearchclass,98DepthFirstSearch()method,98,101,103Derived1.
Method()method,190Descriptiondatamember,210Deserialize()method,280designpattern,134designingrelationaldatabases,usingVisualC#Express,389–396deterministiccode,368development,software,27focusing,29–32organizing,28,51–52Devspace.
Trader.
Commonclasslibrary,295–296Dictionary_availableTypesinstanceconstructor,336Dictionaryclass,247Dictionarydatamember,334Dimension()method,299,319DimLight()method,198DisplayHelp()method,262DisplayMessageText()method,22DivideByZeroExceptiontype,124division(/)operators,449DoAdd()method,246,294473INDEXDoIt()method,348DoMultiply()method,246DoRunningTotalAndMaximum()method,239DoSomething()method,440doubletype,43,46,48,78doubletypes,298doublevalue,319Double.
Parse()method,315downcast,163DowngradeFromWriterLock()method,371downloadingVisualC#Express,2drawstable,394drawsTableAdapterinterface,406dynamicloading,323,351ofassemblies,333–341dynamicallyinstantiatingtypes,333–337enhancingconfigurationfiles,337–341ofbaseclasses,350configurationarchitecture,323–325configurationfiles,329–333addingdynamicloadingitems,332reading,332–333XML-based,330–331conventionarchitecture,325convention-basedarchitecture,implementing,350ofinterfacetypes,350settingupprojects,326–329settingoutputpaths,329signingassemblies,327–328ofstronglynamedassemblies,342–348relocatingtoGAC,343–345usingversionnumbers,345–348dynamicallyinstantiatingtypes,333–337usinginstantiatedtypes,336–337usingsingletons,335–336Eeasynameattribute,338"easyname"parameter,339EasyNameproperty,339echoprograms,254–255elementscollection,361elementsvariable,232elseifstatement,105elsestatement,105EmbeddedMyTypetype,222endparameter,102EngineCreatorclass,175EngineCreator.
CreateSurtaxTaxEngine()method,175EnglishNameproperty,71enhancingconfigurationfiles,337–341marshalingdata,338–340reading,340–341Enqueue()method,377Enter()method,370enumerators,iteratingdatausing,317–318Equals()method,56,58,272,286–287errors,114,128–129.
Seealsoexceptionsevents,10Exampleclass,462Example3.
Class1.
HelloWorld()method,20ExampleImplementationinterface,163ExampleImplementation.
Method()method,163ExampleMgrcode,458ExampleStructurestructure,461exceptionblock,117Exception()constructor,120exceptionhandlers,115–125Exceptiontype,122,124exceptions,113,130catching,115–118debuggerfeature,114–115exception-safecode,125–129defaultstate,127defensivecoding,125–127processingwarningerrors,128–129474INDEXfiltering,122–125handlers,115–125overview,114stackunwinding,121–122ExchangeRateproperty,137,140–141,146exclusivelocks,363–365Execute()method,244,293ExecuteNonQuery()method,399–400ExecuteReader()method,400Exit()method,370explorerapplication,354explorer.
exefile,354expressionvariable,436ExtensibleMarkupLanguage(XML),330–331extensionmethods,236–237,443externalexpression,443Ffactories,192abstractinginstantiationswith,175instantiations,176falsepositive,54FIFO(firstin,firstout)mechanism,226filelevel,29Fill()method,403filteringexceptions,122–125finallyblock,129finallyhandler,122finallykeyword,118FindNextLeg()method,103–104,108FindRoomGrouping()method,212FindRoute()method,98–101FirstElementsubelement,330firstin,firstout(FIFO)mechanism,226fixed-dimensionarrays,293floattype,46floating-point,45forloops,75,101,103–104,447forcedtypecast,190foreachkeyword,213–214,216foreachloop,228,231,233,244,407foreachstatement,227foreignexchange,132Form1.
Form1file,14Form1_Load()method,376Form1.
csfile,9Form1.
Designer.
csfile,14Form1.
resxfile,14FormatExceptiontype,124Form.
Invoke()method,376FoundRoutedatamember,99–101foundRoutevariable,99foundRoute1variable,100foundRoute2variable,100fromCurrencyparameter,148_fromCurrencyproperty,148Functype,310functionevaluation,435,444–446functionalprogramming,433–435,447functionevaluation,444–446higher-orderfunctions,436–439purefunctions,439–444recursion,446–447functionalityclasslibraryproject,18–20specialized,172–174GGAC,relocatingstronglynamedassembliesto,343–345gacutilutility,343,346garbagecollection,25GenerateOutput.
Write()method,297genericproducer/consumerarchitecture,376–378GenericsContainerparameter,291–292GenericTypeparameter,303getcodeblock,137getproperty,154GetCellState()method,320475INDEXGetData()method,403GetDepth()method,126GetEnumerator()method,318GetHashCode()method,56,58,283–286GetMeADelegate()method,238GetMeAValue()method,439,441,445GetNNN()method,400GetObjectData()method,281GetSheet()method,304GetTaxRate()method,180getters,137GetType()method,57–58globalpositioningsystem(GPS),78globallyuniqueidentifier(GUID),387gotokeyword,464gotostatement,456–457GPS(globalpositioningsystem),78graphicaluserinterfaces(GUIs),374GUID(globallyuniqueidentifier),387GUIs(graphicaluserinterfaces),374Hhandles,210hard-coded,437hashcharacter(#),145HashTableclass,226heap,43Hejlsberg,Anders,433HelloWorld()method,18Herculeantask,28hiddenproducer/consumerarchitecture,374–376higher-orderfunctions,436–439HotelCurrencyTraderclass,150–152addingconstructorto,150–151addingconversionmethodsto,151–152HotelCurrencyTradermethod,154IIAsyncResulttype,379IAsyncResult.
AsyncStatedatamember,379IBaseinterface,459ICalculateinterface,438ICanadaTaxEngineinterface,183ICell.
Execute()method,244ICollectioninterface,226IDataParametertype,398IDataReaderinterface,400IDbCommandinterface,401IDbConnectioninterface,401IDbDataParametertype,398IDE(integrateddevelopmentenvironment),1,55IDebuginterface,297,310IDefinitioninterface,348IDefinitiontype,337IDefinitionsinterface,326Identifierproperty,301IDictionaryinterface,226,247IEnumerableinterface,317IEnumerableinterface,317IEnumerable.
GetEnumerator()method,318IEnumeratorsubclass,318IExampleconstraint,457IExampleinterface,163ifcodeblock,104ifkeyword,145ifstatement,36,75,104–108,317IListinterface,226,229,246immutableinstance,147immutableobjects,440immutabletypes,267,440–444imperativeprogramming,433Impl1identifier,332,337implementationcode,114Implementation.
Method()method,187implementationsassembly,217,324Implementations1classlibrary,326Implementations1.
dllassembly,335476INDEXImplementations1.
Implementationprivateclass,335Implementations1.
Implementationtype,337Implementations2classlibrary,326Implementations2.
dllassembly,342incomesplitting,160incrementoperator,452–453IncrementCounter()method,376indexers,211,214IndexOutOfRangeExceptiontype,124informationalread-onlyproperties,ActiveCurrencyTraderclass,148–149inheritance,135,141–142,164–167,184–190,198Initializedeclaration,445Initialize()method,440,442InitializeExchangeRate()method,143INoRemoteControlRoominterface,196,197–198INSERTcommand,397,404Insert()method,203,406INSERTstatement,399–400insertingitemsintolinkedlists,203–204InsertRange()method,247Instproperty,459installingVisualC#Express,3Instanceproperty,336InstanceInstantiate()method,238InstanceProcess()method,238Instantiate()method,334instantiatingNodeelements,88–90PrivateRoomimplementation,219–220PublicRoomimplementation,219–220types,dynamically,336–337instantiations,abstractingwithfactories,175–176InsufficientMemoryExceptiontype,124int(integer)datatype,41,44–45,69,394,454integrateddevelopmentenvironment(IDE),1,55intelligentdatastructure,78IntelliSense,55interfaces,191,194C#,162–164defining,170–171,196–200,276INoRemoteControlRoom,197–198IRemoteControlRoom,198–199IRoomplaceholder,196–197ISensorRoom,199–200definingkernelsas,216–217interprocesscommunicationmechanisms,357int.
Parse()method,279InvalidCastExceptiontype,124InvalidOperationExceptionelement,362Invoke()method,374,378IRectangleinterface,184IRemoteControlRoominterface,196,198–199IRoomplaceholderinterface,196–197ISensorRoominterface,196,199–200IShapedeclaration,168ISquareinterface,184IsReaderLockHeldproperty,373IsRequiredattribute,350IsWriterLockHeldproperty,373ITaxAccountinterface,177,180ITaxEngineinterface,171,175ITaxIncomeinterface,176items.
Lengthvariable,320Iterate()method,236–237,243IterateBuffers()method,128iteratingdata,usingenumerators,317–318iterationcode,367iterationsparameter,446IWorkbookinterface,301–304IWorksheetdeclaration,301IWorksheetinterface,298–301477INDEXIWorksheetBaseinterface,298–301IWorksheetBaseinterfacedefinition,299IWorksheetBasetype,302IWorksheetSerializeclass,310IWorksheetSerializeinterface,314Jjack.
txtfile,384JetDatabaseEngine,387Join()method,358Kkernels,193–195,323definingasinterfaces,216–217defininginterfaces,196–200INoRemoteControlRoominterface,197–198IRemoteControlRoominterface,198–199IRoomplaceholderinterface,196–197ISensorRoominterface,199–200implementing,200linkedlists,208roomgroupings,216keyholeproblems,102–103key/valuepairlists,247–248keywords,abstract,154Llambdaexpressions,241–246,249,296,322,360creatingalgorithms,245implementingalgorithmsusing,245–246usinginserver-sidespreadsheets,310LanguageIntegratedQuery.
SeeLINQlanguages,67–73cultures,71–73numbers,68–71settinginWindows,67LanguageTranslatorclasslibrary,52LanguageTranslatorcomponent,74LanguageTranslatorproject,53lastin,firstout(LIFO)mechanism,226lazyevaluation,444lazyStringdeclaration,446Lengthproperties,280librarycomponent,160LibTaxsolution,160LibTax.
Surtaxnamespace,173LIFO(lastin,firstout)mechanism,226lightingapplicationdefiningrooms,218kernels,195,217definingasinterfaces,216–217defininginterfaces,196–200implementing,200,216organizing,194–195PrivateRoomimplementation,219–220PublicRoomimplementation,219–220LightingControllerclass,200,209LightLevelproperty,198LightSwitch()method,199linkedlistscreating,202–203insertingitems,203–204removingitems,203–204storingcollectionsusing,202testing,204–208LinkedItemclass,205LinkedListtype,246LINQ(LanguageIntegratedQuery),387–432alteringdata,423–424lotteryapplication,calculatingfrequencyofnumbers,409–419overview,409performingsetoperations,428–430processingmultiplestreams,425–426selectingdata,423–424selectingwithanonymoustypes,424–425sortingresults,426splittingresultsintogroups,427–428478INDEXLoad()method,341LoadConfiguration()method,129element,337,339LoaderSectionclass,340LocalsStackpane,114LocalSalesTaxinterface,438lockkeyword,364locktype,370lockingcode,380locks,366logicaloperators,449longtype,45,48Loopmethod,453lotteryapplication,calculatingfrequencyofnumbers,409–419extendingsystem,410–413implementingsolution,413–419lotteryDataSet.
xsdfile,402lottery-predictionsystem,organizing,251–252LottoLibraryclasslibrary,251LottoTicketProcessor,256Mmagictypes,98–99Main()method,16,39,54,332,354Mains()method,354maintainability,295Managedproperty,290managedvariable,290ManagedTypetype,291marshaling,279MaxColsproperty,299MaxRowsproperty,299memory,25messageclass-levelscope,22Messageproperty,121messagevariable,21metadata,56Method()declaration,188Methoddeveloper,458Method()method,83,230,378methodsignature,35methods,static,94–97MicrosoftDeveloperNetwork(MSDN),59minornumber,345mixedtypes,228modules,31modulusoperator(%),452Monitortype,368,370Monitor.
Enter()method,370,377Monitor.
Exit()method,377Monitor.
Pulse()method,377Monitor.
Wait()method,370,377MSDN(MicrosoftDeveloperNetwork),59multicasting,withdelegates,241multiplestreams,processing,425–426multiple-coremicroprocessors,356,380multiplication(*)operators,449multitasking,353–356overview,353–354preemptive,354timeslicing,356multithreadingmultitasking,353–356overview,353–354preemptive,354timeslicing,356producer/consumerarchitecture,374–380asynchronousapproach,378–380generic,376–378hidden,374–376reader/writerthreadedarchitecture,370–374threadscreating,357–358creatingwithstate,359–360deadlocks,366–370synchronizingbetween,361–366waitingforendof,358–359479INDEXMyImplementationassembly,324MyMethod()method,434MyReferenceTypetype,83MyReferenceTypevariable,82MyType.
MyTypeinstance,290MyTypeparameter,303MyValueTypetype,83MyValueTypevariable,79MyValueTypeWithReferenceTypevariable,82Nnamespace,33NameValueCollectiontype,333navigatingusercontrolsofsolutions,13–15nesteddatatypes,objectinitializationwith,221–222.
NETapplicationconfigurationfile,350.
NETattributes,277.
NETgenericsconstraints,457–460class,460new,459type,457–459needfor,289–292server-sidespreadsheets,321assigningstatewithoutknowingtype,314–316calculatingaverages,318–321defininginterfaces,296–304designingarchitecture,295–296iteratingdatausingenumerators,317–318overridingToString()functionality,316–317theoryof,292–294usinglambdaexpressionsin,310.
NETsoftwaredevelopmentkit(.
NETSDK),1,59newconstraint,459newidentifier,314newkeyword,88,459newVersionattribute,348Nextdatamember,201–202Nodedeclaration,95Nodeelements,87,99,102initializing,88–90instantiating,88–90switchingtoclassestodefine,92–93Nodevaluetype,87Node.
RootNodesstaticdata,98NotImplementedExceptiontype,124NotSupportedExceptionexception,123NotSupportedExceptiontype,125nullparameter,339nullstatement,107nulltype,89Nullableclass,461nullabletypes,460–462NullReferenceExceptionexception,122NullReferenceExceptiontype,125number-relatedtypesclasslibraries,32–43Add()method,34–40numbers,computerunderstandingof,41–43CLRnumerictypes,44–48objects,56–59referencetypes,43–44softwaredevelopment,27–32focusing,29–32organizing,28valuetypes,43–44numberscomputerunderstandingof,41–43indifferentlanguages/cultures,68–71NumberStylesenumeratedvalues,70NumberStylesenumeration,70numericdatatypes,45nvarchar(100)type,395480INDEXOobjecthierarchies,159,192inheritance,184–190taxconcepts,160taxengineapplication,170–179baseclasses,171–176basefunctionality,179–184basetaxaccount,177–179defaultimplementations,176–177defininginterfaces,170–171organizing,160test-drivenarchitecture,161–170C#interfaces,162–164components,168–170inheritance,164–167typecasting,190–191objectinitialization,210ObjectLinkingandEmbedding,Database(OLEDB),387Objectsubclass,310objecttype,290,314,316,334object-oriented(OO)programmingabstractkeywords,154currencyconverters,147ActiveCurrencyTraderclass,147–150HotelCurrencyTraderclass,150–152currencyexchangeapplicationorganizing,133writingtestsfor,147currencyspreads,132preprocessordirectives,152–154propertyscope,154objects,56–59objectsvariable,227Object.
ToString()method,460ODBC(OpenDatabaseConnectivity),387oldVersionattribute,348OLEDB(ObjectLinkingandEmbedding,Database),387onHeapvariable,230onStackvaluetype,230onStackvariable,230OpenDatabaseConnectivity(ODBC),387OpenStandardOutput()method,276operatingsystem,380operators,arithmetic,449–453addition,449–450bitwise,452decrement,452–453increment,452–453modulus,452overloading,454–456OR(||)operator,108organizationalcode,114outidentifier,69outkeyword,84outparameters,101,126OutOfMemoryExceptiontype,125OutputPathfield,329outputpaths,setting,329Ovenclass,139overflow,41OverflowExceptiontype,125overloadingoperators,454–456overridefunctionality,135overridekeyword,166,186overriding,forspecializedfunctionality,172–174Pparameter,360ParameterNameproperty,IDbDataParametertype,398parameters,83–85Parse()method,69–70,126–127partialclasses,145–146,462–464partialkeyword,146,463partialmethods,462–464partialtaxation,160password,389481INDEXpatchnumber,345Peek()method,248,268_percentagedatamember,442Percentageproperty,442performance,295PeriodicIncrement()method,376persistencecustomtypesEquals()method,286–287GetHashCode()method,283–286lottery-predictionsystem,organizing,251–252pipingbinarydataconvertingbinarystreamsintotextstreams,279–280convertingtextsstreamintobinarystreams,278defininginterfaces,276definingtypes,276–278implementingshells,276pipingdatausingconsoles,252–272buildingshells,254–263readingdata,252–254TextProcessorapplication,263–272serialization,280–282custom,281declaringdatamembersas-nonserializable,282separatingdataobjectsfromaction-objects,282somethingsforyoutodo,288person.
Attributesvariable,451personstable,395PersonWithAttributesattribute,451pipingdatabinaryconvertingbinarystreamsintotextstreams,279–280convertingtextstreamsintobinarystreams,278defininginterfaces,276definingtypes,276–278implementingshells,276usingconsoles,252–272buildingshells,254–263readingdata,252–254TextProcessorapplication,263–272placeholderinterfaces,196–198plain-vanillalists,247plug-inarchitecture,325Pop()method,248Positionproperties,280preemptivemultitasking,354prefixallotest,65prefixalloappendtest,64preprocessordirectives,145,152–154Prevdatamember,201–202privateclasses,221privatedeclaration,336privatekeyword,333privatescope,142–143privatescopeaccess,141PrivateRoomimplementation,219–220Process()method,267ProcessMaximumValue()method,239ProcessRunningTotal()method,239ProcessValuedelegate,237ProcessValue()method,239producer/consumerarchitecture,374–380asynchronousapproach,378–380generic,376–378hidden,374–376producer/consumerlocks,381Program.
csfile,6,13,38,54projects,4properties,131,162propertyscope,154propTypeNamedatamember,349protectedmodifier,142protectedscope,141,142–143482INDEX_provincedatamember,180provinceparameter,181publicidentifier,277publickeyword,22,79,95,333publicmodifier,141publicscope,137,142–143,336PublicRoomimplementation,219–220Pulse()method,370Purebehavioral,170purefunctions,435,439–444Push()method,248QQueueclass,226Queuelists,248QueueProcessor()method,377quotes,65RRAM(random-accessmemory),41RDO(RemoteDataObjects),387ReaderWriterclasslibrary,251reader/writerlocks,381reader/writerthreadedarchitecture,370–374ReaderWriterLockclass,371ReaderWriterLocktype,373readingconfigurationfiles,332–333datafromconsoles,252–254enhancedconfigurationfiles,340–341ReadLine()method,268readonlykeyword,441,443read-onlylock,373ReadOnlyCollectiontype,362,363read/writerimplementation,373RealAmountproperty,176Rectangle.
CalculateArea()method,165RectangleImplclass,169recursion,435,446–447RecursiveCountvariable,446refkeyword,84referencetypes,43–44,81–83ReferenceHeapclass,230reflection,316relationaldatabases,408accessing,388–389,396–401databaserelations,385–387DatasetDesigner,401–407buildingrelationsbetweentables,402–406usinggeneratedcode,406–407designing,usingVisualC#Express,389–396overview,383tables,384–385relations,384,402–406releasemode,154ReleaseLock()method,371ReleaseReaderLock()method,371ReleaseWriterLock()method,371relocatingstronglynamedassembliestoGAC,343–345RemoteDataObjects(RDO),387remoteInitializefunction,445Remove()method,204,247removingitemsfromlinkedlists,203–204renamingsolutions,Windowsapplicationproject,6–7responsibility,55resultssorting,426splittingintogroups,427–428returnkeyword,101,453returnArray,107retvalvariable,126roomgroupingsadding,209addingroomsto,215finding,211–214implementing,209performingoperationson,215–216483INDEXRoomGroupingclass,209RoomIterator()method,216Roomsdatamember,210_rootarrayelement,104_root.
Lengthproperty,103RootNodesdatamember,94,99Run()method,349RunAll()method,116runningconsoleapplicationproject,17Windowsapplicationproject,7runtimeconfigurationfile,323Ssafecode,25SalesTaxclass,442SalesTaxproperty,438salesTaxvariable,439sandboxingcode,122savingsolutions,Windowsapplicationproject,7sbytetype,45scope,21scopemodifiers,142–143sealedkeyword,177searchalgorithm.
Seedepth-firstsearchalgorithmSearchAlgorithmclass,97SearchAlgorithm.
DepthFirstFindRoute()method,97SearchSolutionproject,87SecondElementsubelement,330node,338SELECTcommand,399,404selectingdata,423–424selecting,withanonymoustypes,424–425separatingdataobjectsfromactionobjects,282Serializableattribute,277serialization,280–282custom,281declaringdatamembersasnonserializable,282separatingdataobjectsfromactionobjects,282serializing,353server-sidespreadsheetsassigningstatewithoutknowingtype,314–316calculatingaverages,318–321defininginterfaces,296–304Debug,296–297IWorkbook,301–304IWorksheet,298–301IWorksheetBase,298–301designingarchitecture,295–296iteratingdatausingenumerators,317–318overridingToString()functionality,316–317theoryof,292–294usinglambdaexpressionsin,310ServerSideSpreadsheetclasslibrary,295setcodeblock,137setoperations,performing,428–430setproperty,154SetCellState()method,319SetTemperature()method,139setters,137settingupdynamicloadingprojects,326–329settingoutputpaths,329signingassemblies,327–328Shape.
CalculateAreamethod,165SheetCoordinatetype,299shellsbuilding,254–263echoprograms,254–255implementingstreamreading/writing,259–263reading/writingtostreams,255–259implementing,276shorttype,45484INDEXshortvalue,450signingassemblies,327–328single-coremicroprocessor,356singletons,dynamicallyinstantiatingtypesusing,335–336Sizeproperty,IDbDataParametertype,398softwaredevelopment.
Seedevelopment,softwaresolutionsaddingclasslibraryprojectto,17addingconsoleapplicationprojectprojectto,16defined,4navigatingusercontrolsof,13–15renaming,6–7saving,7SomeMethod()method,434SomeObjecttype,434SomeObject.
Valuetype,434SortedDictionaryclass,247sortingresults,426sourcecode,29,32SourceColumnproperty,IDbDataParametertype,398specialnotation,187specializedfunctionality,overridingfor,172–174specificsparameter,181Split()method,268,297spreads,132spreadsheet,321SpreadSheetclass,295SQL(StructuredQueryLanguage),225SQLServerCompactEditionADO.
NETdriver,396SqlCeCommandinterface,401SqlCeConnectioninterface,401SqlCeParameterinterface,401SqlCeParametertype,398SquareImplclass,169Stackclass,226stacklists,248stackunwinding,121–122Start()method,357startparameter,102–103startNodesvariable,98state,creatingthreadswith,359–360threadparameters,360ThreadStartdelegate,359–360Statedatamember,245stateless,311staticclass,33staticdatamembers,94–97staticdeclaration,175statickeyword,22staticmethod,33Static()method,246staticmethods,94–97staticmodifier,94staticproperty,336,340StaticInstantiate()method,238StaticProcess()method,238storingcollectionsusinglinkedlists,202Stringclass,59stringtypemethods,65stringtypes,21,51,65,74,78,148,298,442,454languages/cultures,67–73numbers,68–71settinginWindows,67overview,55–60character-by-charactercomparison,59–60objects,56–59softwaredevelopment,organizing,51–52translatorapplication,52–67charactermapping,66–67creatingtestapplication,54–55creatingTranslatorclass,53quotes,65485INDEXresponsibility,55translatinghello,53–54whitespace,61–65StringBuilderclass,74strings,60structdeclaration,461structkeyword,87,461structs,declaring,78structuralcode,134structuralprogrammingtechniques,193StructuredQueryLanguage(SQL),225substrings,finding,62subtraction(-)operators,449switchcasestatement,457synchronization,betweenthreads,361–366withcloning,366exclusivelocks,363–365syncRootobject,365Systemnamespace,123,379System.
Collectionsnamespace,226System.
Collections.
ReadOnlyCollectiontype,363System.
configurationreference,326System.
Configuration.
ConfigurationSectionsubclass,338System.
Console.
WriteLine()method,20SystemExceptiontype,125System.
InvalidOperationexception,462System.
Threadingnamespace,357System.
Threading.
ReaderWriterLockclass,370Ttabledata,addingtorelationaldatabases,397–399tablevariable,407table.
Fill()method,407tablesaddingtodatabases,393–396drawstable,394personstable,395winnerstable,395–396buildingrelationsbetween,402–406relationaldatabase,384–385selectingdatafrom,399–400taskinstance,360TaskListwindow,259TaskManagerwindow,354task.
MethodToRun()method,359taxconcepts,160taxengineapplicationbaseclass,171–176abstractinginstantiationswithfactories,175–176overridingforspecializedfunctionality,172–174basefunctionality,179–184assigningstate,180–181implementingideaswithspecifics,181–184basetaxaccount,177–179defaultimplementations,176–177defininginterfaces,170–171organizing,160taxableincome,159–160TaxableAmountproperty,176_taxableRatedatamember,176TaxAccountclass,180–181TaxDeductionclass,177TaxEngineclass,182TaxEngine.
CalculateTaxToPay()method,173TaxIncomeclass,177TDD(test-drivendevelopment),208Temperatureproperty,139–140TestCalculatorproject,38TestCallingExample()method,126TestCurrencyTraderclass,141,144,147TestCurrencyTraderconsoletestingapplication,133486INDEXtest-drivenarchitecture,161–170C#interfaces,162–164components,168–170inheritance,164–167test-drivendevelopment(TDD),208TestGetValue()method,127testingAdd()method,36–40addingtestprojects,37–38testingadditionoftwolargenumbers,39–40testingsimpleaddition,38–39creatingtestapplications,54–55definingalgorithmtests,97–101gettingFoundRoutedatamember,99–101magictypes,98–99linkedlists,204–208tools,208writingtestsbeforewritingcode,63–65TestInsert()method,207TestLanguageTranslatorclasslibrary,52TestLanguageTranslatorproject,54TestServerSideSpreadsheetclasslibrary,295TestSimple()method,378TestSimpleAddition()method,39TestTaxsolution,160textstreams,convertingintobinarystreams,278Text2Binaryapplication,251,273TextBoxcontrol,9TextProcessorapplication,251–252,263–272decipheringformat,266fixingdatastream,269–272duplicatedates,271–272emptyfields,270–271emptylinesoftext,270incorrectdataformat,271toomanyfields,270–271TextProcessorCommandLines,253TextProcessor.
execommand,253,273TextProcessor.
Main(),256TextReadertypes,273ThirdElementsubelement,330thisindexer,301thiskeyword,236thisreference,142Threadinstances,360threadparameters,360threadpool,377Threadtype,359thread1.
Start()method,358thread2.
Start()method,358Thread.
CurrentThread.
CurrentCulture()method,71ThreadedTasktype,359ThreadPoolProducerConsumerconstructor,378ThreadPoolProducerConsumertype,377–378ThreadPool.
QueueUserWorkItem()method,378threads,380creating,357–358creatingwithstate,359–360threadparameters,360ThreadStartdelegate,359–360deadlocks,366–370synchronizingbetween,361–366withcloning,366exclusivelocks,363–365waitingforendof,358–359Thread.
Sleep()method,361,370–371ThreadStartdelegate,357,359–360throughput,380throwkeyword,120timeslicing,356,380toCurrencyparameter,148_toCurrencyproperty,148Tokenize()method,128487INDEXToString()method,57,72,205,268,316–317,319,322totalvariable,36TraderBaseClassclass,310TranslateHello()method,53,54–55,61TranslateWord()method,337translatorapplication,52–67charactermapping,66–67creatingtestapplications,54–55quotes,65responsibility,55translatinghello,53–54Translatorclass,53whitespace,61–65findingsubstrings,62trimming,61–62writingtestsbeforewritingcode,63–65Translatorclass,53Translator.
csfile,53TrimmingWhitespace()method,61truthtables,262tryblock,118,123trykeyword,118try/catchblock,128–129TryParse()method,69–70,127typeattribute,338typecasting,168,190–191typeconstraint,457–459typemethod,442TypeNamepropertyidentifier,349typeof(string)parameter,339types.
Seealsocustom-definedtypes;number-relatedtypes;stringtypesdefining,276–278dynamicallyinstantiatingusinginstantiatedtypes,336–337usingsingletons,335–336Type-safe,34Uuinttype,45ulongtype,45UML(UnifiedModelingLanguage),28unboxing,230underflow,41Unicode,67UnifiedModelingLanguage(UML),28uniqueidentifiertype,395Unstable,346UpgradeToWriterLock()method,371usability,295Userassembly,217userinterface,31user-definedtypes.
Seecustom-definedtypesusername,389ushorttype,45usingkeyword,19,174usingstatement,33Vvalvariable,456valueparameter,314Valueproperty,IDbDataParametertype,398valuetypes,43–44,229–230constraints,79–85effectsofcopyingdata,79–81parameters,83–85referencetypes,81–82referencingusing,90–92valuevariable,138,343ValueTypetype,316variables,21–23,107verification,143–146conditionalstatements,144–145partialclasses,145–146VerifyExchangeRate()method,146488INDEXversionnumbers,dynamicloadingofstronglynamedassembliesusing,345–348addingassemblyredirectiontoconfigurationfiles,347–348versioningassemblies,346–347VersionAssemblyassembly,347versioningassemblies,346–347virtualbaseclassmethod,186virtualkeyword,172VisualC#Express,1,8,26,330applicationtypes,4classlibraryproject,17–23addingtosolutions,17callingfunctionality,19–20constants,21–23definingreferences,19movingfunctionality,18variables,21–23consoleapplicationproject,15–17addingtosolutions,16"hello,world",16running,17settingstartupproject,16–17designingrelationaldatabasesusing,389–396addingtables,393–396configuringDataSource,390–393downloading,2installing,3navigatingusercontrolsofsolutions,13–15.
NETFramework,23–25overview,1projects,4solutions,4Windowsapplicationproject,5–11addingcommentsto,11"hello,world",9–11renamingsolutions,6–7running,7savingsolutions,7viewingsourcecode,6VisualC#ExpressDataSourceConfigurationWizard,390VisualWebDeveloperExpress,1Wwherestatement,457whileloop,407whitespace,61–65character-by-charactercomparison,59–60findingsubstrings,62responsibility,55trimming,61–62writingtestsbeforewritingcode,63–65Windowsapplicationproject,5–11addingcommentsto,11"hello,world",9–11renamingsolutions,6–7running,7savingsolutions,7viewingsourcecode,6Windows,settinglanguages/culturesin,67Windows.
FormsInvoke()method,378Windows.
Formslibrary,374WindowsSystem32directory,343winnerstable,395–396wordallotest,64wordallowordtest,64Worksheetclass,308,316Worksheettype,298Worksheettype,298Worksheettype,298worksheet.
Calculate()method,320WorksheetIdentifiersclass,302writingexception-safecode,125–129defaultstate,127489INDEXdefensivecoding,125–127processingwarningerrors,128–129tests,forcurrencyexchangeapplication,147baseclasses,134–135,146–147C#properties,137–140inheritance,135–142scopemodifiers,142–143structuralcode,133verification,143–146XXML(ExtensibleMarkupLanguage),330–331.
xsdfile,402.
xsd-lotteryDataSet.
xsdextension,402Y_yeardatamember,180yearparameter,181yieldkeyword,214,225,317yieldreturnstatement,213,216
vollcloud LLC首次推出6折促销,本次促销福利主要感恩与回馈广大用户对于我们的信任与支持,我们将继续稳步前行,为广大用户们提供更好的产品和服务,另外,本次促销码共限制使用30个,个人不限购,用完活动结束,同时所有vps产品支持3日内无条件退款和提供免费试用。需要了解更多产品可前往官网查看!vollcloud优惠码:VoLLcloud终生6折促销码:Y5C0V7R0YW商品名称CPU内存S...
随着自媒体和短视频的发展,确实对于传统的PC独立网站影响比较大的。我们可以看到云服务器商家的各种促销折扣活动,我们也看到传统域名商的轮番新注册和转入的促销,到现在这个状态已经不能说这些商家的为用户考虑,而是在不断的抢夺同行的客户。我们看到Namecheap商家新注册域名和转入活动一个接一个。如果我们有需要新注册.COM域名的,只需要5.98美元。优惠码:NEWCOM598。同时有赠送2个月免费域名...
HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...
queueuserworkitem为你推荐
在线漏洞检测如何查看网站的漏洞?显卡温度多少正常显卡温度多少算正常9flash怎么使用ePSXe啊?网店推广网站网店怎么推广?srv记录如何验证是否为域控制器创建了 SRV DNS 记录中国杀毒软件排行榜中国杀毒软件排行网页窗口最大化怎么现在不能直接将网页窗口最大化2018最火爆的歌曲2015年到2019年比较流行的歌曲有哪些?adobephotoshop教程学习photoshop的流程ncsettingNCSettings更新了,实用多了,但是有没有锋友不会排序的呢?
北京主机租用 vps优惠码 域名服务器是什么 重庆服务器托管 a2hosting vpsio kddi 光棍节日志 debian7 警告本网站美国保护 河南移动m值兑换 支付宝扫码领红包 香港新世界中心 免费网页申请 购买国外空间 支持外链的相册 yundun 外贸空间 lamp怎么读 网站防护 更多