在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → EssentialCSharp 6.0 c# 6.0 本质论 原版图书代码

EssentialCSharp 6.0 c# 6.0 本质论 原版图书代码

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:0.73M
  • 下载次数:5
  • 浏览次数:20
  • 发布时间:2023-12-19
  • 实例类别:C#语言基础
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: Csharp SSE C# LCS 6.0

实例介绍

【实例简介】EssentialCSharp 6.0 c# 6.0 本质论 原版图书代码

【实例截图】

from clipboard

【核心代码】

.
├── EssentialCSharp 6.0  c#  6.0 本质论   原版图书代码_EssentialCSharp-6.0.zip
└── EssentialCSharp-6.0
    ├── EssentialC#6 Errata.md
    ├── EssentialCSharp
    │   ├── AssemblyInfo.cs
    │   ├── Chapter01
    │   │   ├── Chapter01.csproj
    │   │   ├── Listing01.01.HelloWorldInC#.cs
    │   │   ├── Listing01.02.BasicClassDeclaration.cs
    │   │   ├── Listing01.03.BreakingApartHelloWorld.cs
    │   │   ├── Listing01.04.TheMainMethodWithParametersAndAReturn.cs
    │   │   ├── Listing01.05.MultipleStatementsOneOneLine.cs
    │   │   ├── Listing01.06.SplittingAStatementAcrossMultipleLines.cs
    │   │   ├── Listing01.07.NoIndentationFormatting.cs
    │   │   ├── Listing01.08.RemovingWhitespace.cs
    │   │   ├── Listing01.09.DeclaringAndAssigningAVariable.cs
    │   │   ├── Listing01.10.DeclaringTwoVariablesWithinOneStatement.cs
    │   │   ├── Listing01.11.ChangingTheValueOfAVariable.cs
    │   │   ├── Listing01.12.AssignmentReturningAValueThatCanBeassignedAgain.cs
    │   │   ├── Listing01.13.UsingSystemConsoleReadLine.cs
    │   │   ├── Listing01.14.UsingSystemConsoleRead.cs
    │   │   ├── Listing01.15.FormattingUsingStringInterpolation.cs
    │   │   ├── Listing01.16.FormattingUsingCompositeFormatting.cs
    │   │   ├── Listing01.17.SwappingTheIndexedPlaceholdersAndCorrespondingVariables.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter01.Tests
    │   │   ├── Chapter01.Tests.csproj
    │   │   ├── Listing01.01.Tests.cs
    │   │   ├── Listing01.03.Tests.cs
    │   │   ├── Listing01.04.Tests.cs
    │   │   ├── Listing01.05.Tests.cs
    │   │   ├── Listing01.06.Tests.cs
    │   │   ├── Listing01.07.Tests.cs
    │   │   ├── Listing01.08.Tests.cs
    │   │   ├── Listing01.09.Tests.cs
    │   │   ├── Listing01.11.Tests.cs
    │   │   ├── Listing01.13.Tests.cs
    │   │   ├── Listing01.14.Tests.cs
    │   │   ├── Listing01.15.Tests.cs
    │   │   ├── Listing01.16.Tests.cs
    │   │   ├── Listing01.17.Tests.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── Tests.cs.backup
    │   ├── Chapter02
    │   │   ├── Chapter02.csproj
    │   │   ├── Listing02.01-2.06.SpecifyingLiteralValues.cs
    │   │   ├── Listing02.02.SpecifyingALiteralDouble.cs
    │   │   ├── Listing02.03.SpecifyingALiteralDecimal.cs
    │   │   ├── Listing02.04.ExponentialNotation.cs
    │   │   ├── Listing02.05.HexadecimalLiteralValue.cs
    │   │   ├── Listing02.06.ExamplesOfAHexadecimalFormatSpecifier.cs
    │   │   ├── Listing02.07.FormattingUsingTheRFormatSpecifier.cs
    │   │   ├── Listing02.08-2.10.ComparingStringsEscapeSequencesAndUnicode.cs
    │   │   ├── Listing02.09.DisplayingASingleQuoteUsingAnEscapeSequence.cs
    │   │   ├── Listing02.10.UsingUnicodeEncodingToDisplayASmileyFace.cs
    │   │   ├── Listing02.11.UsingTheNewlineCharacterToInsertANewline.cs
    │   │   ├── Listing02.12.DisplayingATriangleUsingAVerbatimStringLiteral.cs
    │   │   ├── Listing02.13.UsingStaticDirectives.cs
    │   │   ├── Listing02.14.UsingStringsLengthMember.cs
    │   │   ├── Listing02.15.Error-StringIsImmutable.cs
    │   │   ├── Listing02.16.WorkingWithStrings.cs
    │   │   ├── Listing02.17.AssigningNullToAString.cs
    │   │   ├── Listing02.18.WorkingWithStrings.cs
    │   │   ├── Listing02.19.ImplicitLocalVariablesWithAnonymousTypes.cs
    │   │   ├── Listing02.20.UsingTheNullableModifier.cs
    │   │   ├── Listing02.21.ExplicitCastExample.cs
    │   │   ├── Listing02.22.OverflowingAnIntegerValue.cs
    │   │   ├── Listing02.23.ACheckedBlockExample.cs
    │   │   ├── Listing02.24.AnUncheckedBlockExample.cs
    │   │   ├── Listing02.25.NotUsingTheCastOperatorForAnImplicitCast.cs
    │   │   ├── Listing02.26.UsingTheCastOperatorForAnImplicitCast.cs
    │   │   ├── Listing02.27.UsingIntParseToConvertAStringToANumericDataType.cs
    │   │   ├── Listing02.28.TypeConversionUsingSystemConvert.cs
    │   │   ├── Listing02.29.UsingToStringToConvertToAString.cs
    │   │   ├── Listing02.30.UsingTryParseInPlaceOfAnInvalidCastException.cs
    │   │   ├── Listing02.31.DeclaringAnArray.cs
    │   │   ├── Listing02.32.DeclaringATwoDimensionalArray.cs
    │   │   ├── Listing02.33.ArrayDeclarationWithAssignment.cs
    │   │   ├── Listing02.34.ArrayAssignmentFollowingDeclaration.cs
    │   │   ├── Listing02.35.ArrayAssignmentWithNewDuringDeclaration.cs
    │   │   ├── Listing02.36.DeclarationAndAssignmentWithTheNewKeyword.cs
    │   │   ├── Listing02.37.AssigningWithoutLiteralValues.cs
    │   │   ├── Listing02.38.DefiningTheArraySizeAtRuntime.cs
    │   │   ├── Listing02.39.DeclaringATwoDimensionalArray.cs
    │   │   ├── Listing02.40.InitializingATwoDimensionalArrayOfIntegers.cs
    │   │   ├── Listing02.41.AMultidimensionalArrayWithInconsistentSizeCausingAnError.cs
    │   │   ├── Listing02.42.InitializingAThreeDimensionalArray.cs
    │   │   ├── Listing02.43.InitializingAJaggedArray.cs
    │   │   ├── Listing02.44.DeclaringAndAccessingAnArray.cs
    │   │   ├── Listing02.45.SwappingDataBetweenPositionsInAnArray.cs
    │   │   ├── Listing02.46.InitializingATwoDimensionalArrayOfIntegers.cs
    │   │   ├── Listing02.47.DeclaringAJaggedArray.cs
    │   │   ├── Listing02.48.RetrievingTheLengthOfAnArray.cs
    │   │   ├── Listing02.49.AccessingOutsideTheBoundsOfAnArrayThrowingAnException.cs
    │   │   ├── Listing02.50.UsingLengthMinus1InTheArrayIndex.cs
    │   │   ├── Listing02.51.AdditionalArrayMethods.cs
    │   │   ├── Listing02.52.RetrievingAParticularDimensionsSize.cs
    │   │   ├── Listing02.53.LookingForCommandlineOptions.cs
    │   │   ├── Listing02.54.LookingForCommandlineOptionsSimplified.cs
    │   │   ├── Listing02.55.ReversingAString.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter02.Tests
    │   │   ├── Chapter02.Tests.csproj
    │   │   ├── Listing02.01.Tests.cs
    │   │   ├── Listing02.07.Tests.cs
    │   │   ├── Listing02.08.Tests.cs
    │   │   ├── Listing02.11.Tests.cs
    │   │   ├── Listing02.12.Tests.cs
    │   │   ├── Listing02.13.Tests.cs
    │   │   ├── Listing02.14.Tests.cs
    │   │   ├── Listing02.17.Tests.cs
    │   │   ├── Listing02.18.Tests.cs
    │   │   ├── Listing02.21.Tests.cs
    │   │   ├── Listing02.50.AdditionalArrayMethods.Tests.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── Tests.cs.backup
    │   ├── Chapter03
    │   │   ├── Chapter03.csproj
    │   │   ├── Listing03.01.SimpleOperator.cs
    │   │   ├── Listing03.02.Negative.cs
    │   │   ├── Listing03.03.BinaryOperators.cs
    │   │   ├── Listing03.04.NonNumericTypes.cs
    │   │   ├── Listing03.05.CharConcatenation.cs
    │   │   ├── Listing03.06.CharDifference.cs
    │   │   ├── Listing03.07.UnexpectedInequality.cs
    │   │   ├── Listing03.08.DivisionByZero.cs
    │   │   ├── Listing03.09.BoundOverflow.cs
    │   │   ├── Listing03.10.Increment.cs
    │   │   ├── Listing03.11.IncrementOperator.cs
    │   │   ├── Listing03.12.OtherOperators.cs
    │   │   ├── Listing03.13.UnaryIncrement.cs
    │   │   ├── Listing03.14.UnaryDecrement.cs
    │   │   ├── Listing03.15.DisplayUnicode.cs
    │   │   ├── Listing03.16.PostIncrement.cs
    │   │   ├── Listing03.17.PreIncrement.cs
    │   │   ├── Listing03.18.ComparingPrefixAndPostfix.cs
    │   │   ├── Listing03.19.DeclaringConstants.cs
    │   │   ├── Listing03.20.IfElseStatement.cs
    │   │   ├── Listing03.21.NestedIf.cs
    │   │   ├── Listing03.22.ElseIf.cs
    │   │   ├── Listing03.23.NoCodeBlock.cs
    │   │   ├── Listing03.24.WithCodeBlock.cs
    │   │   ├── Listing03.25.RelyingOnIndentation.cs
    │   │   ├── Listing03.26.IdenticalInFunctionality.cs
    │   │   ├── Listing03.27.OutOfScope.cs
    │   │   ├── Listing03.28.BooleanExpression.cs
    │   │   ├── Listing03.29.AssignmentAsCondition.cs
    │   │   ├── Listing03.30.AssignAsBool.cs
    │   │   ├── Listing03.31.EqualityOperator.cs
    │   │   ├── Listing03.32.OrOperator.cs
    │   │   ├── Listing03.33.AndOperator.cs
    │   │   ├── Listing03.34.LogicalNegationOperator.cs
    │   │   ├── Listing03.35.ConditionalOperator.cs
    │   │   ├── Listing03.36.NullCoalescingOperator.cs
    │   │   ├── Listing03.37.NullConditionalOperator.cs
    │   │   ├── Listing03.38.NullConditionalOperatorWithIndexOperator.cs
    │   │   ├── Listing03.39.RightShiftOperator.cs
    │   │   ├── Listing03.40.BitwiseOperators.cs
    │   │   ├── Listing03.41.StringRepresentationOfBinary.cs
    │   │   ├── Listing03.42.LogicalAssignmentOperators.cs
    │   │   ├── Listing03.43.WhileLoop.cs
    │   │   ├── Listing03.44.DoWhileLoop.cs
    │   │   ├── Listing03.45.ForLoop.cs
    │   │   ├── Listing03.46.ForWithMultipleExpressions.cs
    │   │   ├── Listing03.47.DeterminingRemainingMoves.cs
    │   │   ├── Listing03.48.InputValidation.cs
    │   │   ├── Listing03.49.SwitchStatement.cs
    │   │   ├── Listing03.50.BreakStatement.cs
    │   │   ├── Listing03.51.SettingABit.cs
    │   │   ├── Listing03.52.DeterminingEmailDomain.cs
    │   │   ├── Listing03.53.ReplacingContinueWithIf.cs
    │   │   ├── Listing03.54.GotoStatements.cs
    │   │   ├── Listing03.55.ExcludingCode.cs
    │   │   ├── Listing03.56.Directives.cs
    │   │   ├── Listing03.57.DefineDirective.cs
    │   │   ├── Listing03.58.WarningDirective.cs
    │   │   ├── Listing03.59.PragmaDirective.cs
    │   │   ├── Listing03.60.PragmaRestore.cs
    │   │   ├── Listing03.61.LineWarning.cs
    │   │   ├── Listing03.62.Regions.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter03.Tests
    │   │   ├── Chapter03.Tests.csproj
    │   │   ├── Listing03.01.SimpleOperator.Tests.cs
    │   │   ├── Listing03.02.Negative.Tests.cs
    │   │   ├── Listing03.03.BinaryOperators.Tests.cs
    │   │   ├── Listing03.07.UnexpectedInequality.Tests.cs
    │   │   ├── Listing03.18.ComparingPrePostIncrementOperators.cs
    │   │   ├── Listing03.21.NestedIfStatements.cs
    │   │   ├── Listing03.24.WithCodeBlock..Tests.cs
    │   │   ├── Listing03.25.RelyingOnIndentation.Tests.cs
    │   │   ├── Listing03.26.IdenticalInFunctionality.Tests.cs
    │   │   ├── Listing03.41.StringRepresentationOfBinary.Tests.cs
    │   │   ├── Listing03.46.ForWithMultipleExpressions.Tests.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── Tests.cs.backup
    │   ├── Chapter04
    │   │   ├── Chapter04.csproj
    │   │   ├── Listing04.01.GroupingStatementsIntoMethods.cs
    │   │   ├── Listing04.02.SimpleMethodCall.cs
    │   │   ├── Listing04.03.PassingAMethodReturnAsAParameterToAnotherMehtodCall.cs
    │   │   ├── Listing04.04.DeclaringAMethod.cs
    │   │   ├── Listing04.05.AReturnStatementBeforeTheEndOfAmethod.cs
    │   │   ├── Listing04.06.UsingDirectiveExample.cs
    │   │   ├── Listing04.07.SpecifyingTheUsingDirectiveInsideANamespaceDeclaration.cs
    │   │   ├── Listing04.08.UsingStaticDirective.cs
    │   │   ├── Listing04.09.DeclaringATypeAlias.cs
    │   │   ├── Listing04.10.DeclaringATypeAliasWithTheSameName.cs
    │   │   ├── Listing04.11.PassingCommandLineArgumentsToMain.cs
    │   │   ├── Listing04.12.PassingVariablesByValue.cs
    │   │   ├── Listing04.13.PassingVariablesByReference.cs
    │   │   ├── Listing04.14.PassingVariablesOutOnly.cs
    │   │   ├── Listing04.14.PassingVariablesOutOnly.cs~
    │   │   ├── Listing04.15.PassingAVariableParameterList.cs
    │   │   ├── Listing04.16.CountingLinesGivenADirectory.cs
    │   │   ├── Listing04.17.CountingLinesUsingOverloading.cs
    │   │   ├── Listing04.18.MethodsWithOptionalParameters.cs
    │   │   ├── Listing04.19.SpecifyingParametersByName.cs
    │   │   ├── Listing04.20.ConvertingAStringToAnInt.cs
    │   │   ├── Listing04.21.CatchingAnException.cs
    │   │   ├── Listing04.22.FinallyWithoutCatch.cs
    │   │   ├── Listing04.23.GeneralCatchBlocks.cs
    │   │   ├── Listing04.24.ThrowingAnException.cs
    │   │   ├── Listing04.25.RethrowingAnException.cs
    │   │   ├── Listing04.26.TryCatch.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter04.Tests
    │   │   ├── Chapter04.Tests.csproj
    │   │   ├── Listing04.03.PassingAMethodReturnAsAParameterToAnotherMehtodCall.Tests.cs
    │   │   ├── Listing04.04.DeclaringAMethod.Tests.cs
    │   │   ├── Listing04.06.UsingDirectiveExample.Tests.cs
    │   │   ├── Listing04.11.PassingCommandLineArgumentsToMain.Tests.cs
    │   │   ├── Listing04.12.PassingVariablesByValue.Tests.cs
    │   │   ├── Listing04.13.PassingVariablesByReference.Tests.cs
    │   │   ├── Listing04.14.PassingVariablesOutOnly.Tests.cs
    │   │   ├── Listing04.15.PassingAVariableParameterList.Tests.cs
    │   │   ├── Listing04.16.CountingLinesGivenADirectory.Tests.cs
    │   │   ├── Listing04.17.CountingLinesUsingOverloading.Tests.cs
    │   │   ├── Listing04.18.MethodsWithOptionalParameters.Tests.cs
    │   │   ├── Listing04.20.ConvertingAStringToAnInt.Tests.cs
    │   │   ├── Listing04.21.CatchingAnException.Tests.cs
    │   │   ├── Listing04.22.FinallyWithoutCatch.Tests.cs
    │   │   ├── Listing04.23.GeneralCatchBlocks.Tests.cs
    │   │   ├── Listing04.24.ThrowingAnException.Tests.cs
    │   │   ├── Listing04.25.RethrowingAnException.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter05
    │   │   ├── Chapter05.csproj
    │   │   ├── Listing05.01.DefiningAClass.cs
    │   │   ├── Listing05.02.DeclaringVariablesOfTheClassType.cs
    │   │   ├── Listing05.03.InstantiatingAClass.cs
    │   │   ├── Listing05.04.DeclaringFields.cs
    │   │   ├── Listing05.05.SettingInitialValuesOfFieldsAtDeclarationTime.cs
    │   │   ├── Listing05.06.AccessingFields.cs
    │   │   ├── Listing05.07.AccessingFieldsFromWithinTheContainingClass.cs
    │   │   ├── Listing05.08.AccessingFieldsFromOutsideTheContainingClass.cs
    │   │   ├── Listing05.09.UsingThisToIdentifyTheFieldsOwnerExplicitly.cs
    │   │   ├── Listing05.10.UsingThisToAvoidAmbiguity.cs
    │   │   ├── Listing05.11.UsingThisWithAMethod.cs
    │   │   ├── Listing05.12.PassingThisInAMethodCall.cs
    │   │   ├── Listing05.13.DataPersistenceToAFile.cs
    │   │   ├── Listing05.14.DataRetrievalFromAFile.cs
    │   │   ├── Listing05.15.UsingThePrivateAccessModifier.cs
    │   │   ├── Listing05.16.GettersAndSetters.cs
    │   │   ├── Listing05.17.DefiningProperties.cs
    │   │   ├── Listing05.18.AutomaticallyImplementedProperties.cs
    │   │   ├── Listing05.19.ProvidingPropertyValidation.cs
    │   │   ├── Listing05.20.DefiningReadOnlyProperties.cs
    │   │   ├── Listing05.21.DefiningProperties.cs
    │   │   ├── Listing05.22.PlacingAccessModifiersOnSetters.cs
    │   │   ├── Listing05.25.DefiningAConstructor.cs
    │   │   ├── Listing05.26.CallingAConstructor.cs
    │   │   ├── Listing05.27.DefaultConstructorNoLongerAvailable.cs
    │   │   ├── Listing05.28.CallingAnObjectInitializer.cs
    │   │   ├── Listing05.29.CallingAnObjectInitializer.cs
    │   │   ├── Listing05.30.OverloadingAConstructor.cs
    │   │   ├── Listing05.31.CallingOneConstructorFromAnother.cs
    │   │   ├── Listing05.32.ProvidingAnInitializationMethod.cs
    │   │   ├── Listing05.33.ImplicitLocalVariablesWithAnonymousTypes.cs
    │   │   ├── Listing05.34.DeclaringAStaticField.cs
    │   │   ├── Listing05.35.AssigningAStaticFieldAtDeclaration.cs
    │   │   ├── Listing05.36.AccessingAStaticField.cs
    │   │   ├── Listing05.37.DefiningAStaticMethodOnDirectoryInfo.cs
    │   │   ├── Listing05.38.DeclaringAStaticConstructor.cs
    │   │   ├── Listing05.39.DeclaringAStaticProperty.cs
    │   │   ├── Listing05.40.DeclaringAStaticClass.cs
    │   │   ├── Listing05.41.StaticCopyMethodForDirectoryInfo.cs
    │   │   ├── Listing05.42.DeclaringAConstantField.cs
    │   │   ├── Listing05.43.DeclaringAFieldAsReadonly.cs
    │   │   ├── Listing05.44.DeclaringAReadonlyFieldOfATypeWithNoLiteralValues.cs
    │   │   ├── Listing05.45.DefiningANestedClass.cs
    │   │   ├── Listing05.46.DefiningAPartialClass.cs
    │   │   ├── Listing05.47.DefiningANestedClassInASeperatePartialClass.cs
    │   │   ├── Listing05.48.DefiningANestedClassInASeperatePartialClass.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter05.Tests
    │   │   ├── Chapter05.Tests.csproj
    │   │   ├── Listing05.40.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter06
    │   │   ├── Chapter06.csproj
    │   │   ├── Listing06.01.RefactoringIntoABaseClass.cs
    │   │   ├── Listing06.02.UsingInheritedMethods.cs
    │   │   ├── Listing06.03.ClassesDerivingFromEachOtherToFormAnInheritanceChain.cs
    │   │   ├── Listing06.04.ImplicitBaseTypeCasting.cs
    │   │   ├── Listing06.05.DefiningCastOperators.cs
    │   │   ├── Listing06.06.PrivateMembersAreNotInherited.cs
    │   │   ├── Listing06.07.ProtectedMembersAreAccessibleOnlyFromDerivedClasses.cs
    │   │   ├── Listing06.08.WorkingAroundSingleInheritanceUsingAggregation.cs
    │   │   ├── Listing06.09.PreventingDerivationWithSealedClasses.cs
    │   │   ├── Listing06.10.OverridingAProperty.cs
    │   │   ├── Listing06.11.RuntimeCallingTheMostDerivedImplementationOfAVirtualMethod.cs
    │   │   ├── Listing06.12.CarelesslyRelyingOnAVirtualMethodImplementation.cs
    │   │   ├── Listing06.13.ForcingTheDesirableRunSemantics.cs
    │   │   ├── Listing06.14.OverrideVersusNewModifier.cs
    │   │   ├── Listing06.15.SealingMembers.cs
    │   │   ├── Listing06.16.AccessingABaseMember.cs
    │   │   ├── Listing06.17.SpecifyingWhichBaseConstructorToInvoke.cs
    │   │   ├── Listing06.18.DefiningAnAbstractClass.cs
    │   │   ├── Listing06.19.DefiningAbstractMembers.cs
    │   │   ├── Listing06.20.UsingPolymorphismToListThePdaItems.cs
    │   │   ├── Listing06.21.System.ObjectDerivationImpliedWhenNoDerivationIsSpecifiedExplicitly.cs
    │   │   ├── Listing06.22.IsOperatorDeterminingTheUnderlyingType.cs
    │   │   ├── Listing06.23.DataConversionUsingTheAsOperator.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter07
    │   │   ├── Chapter07.csproj
    │   │   ├── Listing07.01.DefiningAnInterface.cs
    │   │   ├── Listing07.02.ImplementingAndUsingInterfaces.cs
    │   │   ├── Listing07.03.ImplementingAnInterface.cs
    │   │   ├── Listing07.04.CallingExplicitInterfaceMemberImplementations.cs
    │   │   ├── Listing07.05.ExplicitInterfaceImplementation.cs
    │   │   ├── Listing07.06.DerivingOneInterfaceFromAnother.cs
    │   │   ├── Listing07.07.DeclarationWithoutContainingInterface.cs
    │   │   ├── Listing07.08.UsingABaseInterfaceInTheClassDeclaration.cs
    │   │   ├── Listing07.09.MultipleInterfaceInheritance.cs
    │   │   ├── Listing07.10.InterfaceExtensionMethods.cs
    │   │   ├── Listing07.11.WorkingAroundSingleInheritanceUsingAggregationWithInterfaces.cs
    │   │   ├── Listing07.12.DerivingOneInterfaceFromAnother.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter08
    │   │   ├── Chapter08.csproj
    │   │   ├── Listing08.01.DefiningStruct.cs
    │   │   ├── Listing08.02.ErroneousInitialization.cs
    │   │   ├── Listing08.03.AccessError.cs
    │   │   ├── Listing08.04.UsingTheDefaultOperatorToRetrieveTheDefaultValueOfAType.cs
    │   │   ├── Listing08.05.SubtleBoxAndUnboxInstructions.cs
    │   │   ├── Listing08.06.UnboxMustBeSameType.cs
    │   │   ├── Listing08.07.SubtleBoxingIdiosyncrasies.cs
    │   │   ├── Listing08.08.AvoidingUnboxingAndCopying.cs
    │   │   ├── Listing08.09.ComparingAnIntegerSwitchToAnEnumSwitch.cs
    │   │   ├── Listing08.10.DefiningAnEnum.cs
    │   │   ├── Listing08.11.DefiningAnEnumType.cs
    │   │   ├── Listing08.12.CastingBetweenArraysOfEnums.cs
    │   │   ├── Listing08.13.ConvertingAStringToAnEnumUsingEnum.Parse.cs
    │   │   ├── Listing08.14.ConvertingAStringToAnEnumUsingEnum.TryParse.cs
    │   │   ├── Listing08.15.UsingEnumsAsFlags.cs
    │   │   ├── Listing08.16.UsingBitwiseORandANDWithFlagEnums.cs
    │   │   ├── Listing08.17.DefiningEnumValuesforFrequentCombinations.cs
    │   │   ├── Listing08.18.UsingFlagsAttribute.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter09
    │   │   ├── Chapter09.csproj
    │   │   ├── Employee.cs
    │   │   ├── Listing09.01.OverridingToString.cs
    │   │   ├── Listing09.02.ImplementingGetHashCode.cs
    │   │   ├── Listing09.03.OverridingEqualityOperator.cs
    │   │   ├── Listing09.04.ValueTypesNeverReferenceEqualThemselves.cs
    │   │   ├── Listing09.05.OverridingEquals.cs
    │   │   ├── Listing09.06.ImplementingTheEqualsAndNotEqualsOperators.cs
    │   │   ├── Listing09.07.AddingAnOperator.cs
    │   │   ├── Listing09.08.CallingTheMinusAndPlusBinaryOperators.cs
    │   │   ├── Listing09.09.OverloadingTheMinusAndPlusUnaryOperators.cs
    │   │   ├── Listing09.10.TrueAndFalseOperators.cs
    │   │   ├── Listing09.11.ProvidingAnImplicitConversionBetweenLatitudeAndDouble.cs
    │   │   ├── Listing09.12.MakingTypesAvailableExternally.cs
    │   │   ├── Listing09.13.DefiningANamespace.cs
    │   │   ├── Listing09.14.NestedNamespaces.cs
    │   │   ├── Listing09.15.NestingNamespacesWithPeriod.cs
    │   │   ├── Listing09.16.UsingTheExternAliasDirective.cs
    │   │   ├── Listing09.17.CommentingWithXML.cs
    │   │   ├── Listing09.18.Comments.xml
    │   │   ├── Listing09.19.WeakReferences.cs
    │   │   ├── Listing09.20.DefiningAFinalizer.cs
    │   │   ├── Listing09.21.ResourceCleanupWithIDisposable.cs
    │   │   ├── Listing09.22.InvokingTheUsingStatement.cs
    │   │   ├── Listing09.23.LazyLoadingAProperty.cs
    │   │   ├── Listing09.24.UsingSystem.Lazy.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter09.Tests
    │   │   ├── Chapter09.Tests.csproj
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter10
    │   │   ├── Chapter10.csproj
    │   │   ├── Listing10.01.ThrowingAnException.cs
    │   │   ├── Listing10.02.CatchingDifferentExceptionTypes.cs
    │   │   ├── Listing10.02A.ConditionalExceptionCatch.cs
    │   │   ├── Listing10.03.UsingExceptionDispatchInfoToRethrowException.cs
    │   │   ├── Listing10.04.CreatingACustomException.cs
    │   │   ├── Listing10.05.DefiningASerializableException.cs
    │   │   ├── Listing10.06.OverflowingAnIntegerValue.cs
    │   │   ├── Listing10.07.ACheckedBlockExample.cs
    │   │   ├── Listing10.08.AnUnCheckedBlockExample.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter10.Tests
    │   │   ├── Chapter10.Tests.csproj
    │   │   ├── Listing10.02A.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter11
    │   │   ├── Chapter11.csproj
    │   │   ├── Listing11.01.TheMethodSignatures.cs
    │   │   ├── Listing11.02.SupportingUndoInEtchASketchGame.cs
    │   │   ├── Listing11.03.DefiningASpecializedStackClass.cs
    │   │   ├── Listing11.04.DefiningNullableVersionsOfValueTypes.cs
    │   │   ├── Listing11.05.NullableTypeContainingAnObject.cs
    │   │   ├── Listing11.06.ImplementingUndoWithAGenericStackClass.cs
    │   │   ├── Listing11.07.DeclaringAGenericClassStack.cs
    │   │   ├── Listing11.08.DeclaringAGenericInterface.cs
    │   │   ├── Listing11.09.ImplementingAGenericInterface.cs
    │   │   ├── Listing11.10.DuplicatingAnInterfaceImplementationOnASingleClass.cs
    │   │   ├── Listing11.11.DeclaringAGenericTypeConstructor.cs
    │   │   ├── Listing11.12.NotInitializingAllFieldsCasuingACompileError.cs
    │   │   ├── Listing11.13.InitializingAFieldWithTheDefaultOperator.cs
    │   │   ├── Listing11.14.DeclaringAGenericWithMultipleTypeParameters.cs
    │   │   ├── Listing11.15.UsingATypewithMultipleTypeParameters.cs
    │   │   ├── Listing11.16.UsingArityToOverloadATypeDefinition.cs
    │   │   ├── Listing11.17.UsingATupleCreateFactoryMethods.cs
    │   │   ├── Listing11.18.NestedGenericTypes.cs
    │   │   ├── Listing11.19.DeclaringABinaryTreeClassWithNoConstraints.cs
    │   │   ├── Listing11.20.NeedingTheTypeParameterToSupportAnInterface.cs
    │   │   ├── Listing11.21.NeedingTheTypeParameterToSupportAnInterfaceOrExceptionThrown.cs
    │   │   ├── Listing11.22.DeclaringAnInterfaceConstraint.cs
    │   │   ├── Listing11.23.DeclaringABaseClassConstraint.cs
    │   │   ├── Listing11.24.SpecifyingTheTypeParameterAsAValueType.cs
    │   │   ├── Listing11.25.SpecifyingMultipleConstraints.cs
    │   │   ├── Listing11.26.RequiringADefaultConstructorConstraint.cs
    │   │   ├── Listing11.27.InheritedConstraintsSpecifiedExplicitly.cs
    │   │   ├── Listing11.28.InheritedConstraintsSpecifiedExplicitly.cs
    │   │   ├── Listing11.29.ConstraintExpressionsCannotRequireOperators.cs
    │   │   ├── Listing11.30.CombiningConstraintsUsingOrRelationshipNotAllowed.cs
    │   │   ├── Listing11.31.InheritanceConstraintsCannotBeDelegates.cs
    │   │   ├── Listing11.32.ConstraintsCanOnlyBeSpecifiedForDefaultConstructors.cs
    │   │   ├── Listing11.33.UsingAFactoryInterfaceInPlaceOfAConstructorConstraint.cs
    │   │   ├── Listing11.34.DeclaringAnEntityToBeUsedInEntityDictionary.cs
    │   │   ├── Listing11.35.DefiningGenericMethods.cs
    │   │   ├── Listing11.36.SpecifyingTheTypeParameterExplicitly.cs
    │   │   ├── Listing11.37.InferringTheTypeParameter.cs
    │   │   ├── Listing11.38.SpecifyingConstraintsOnGenericMethods.cs
    │   │   ├── Listing11.39.BinaryTreeRequiringIComparableTypeParameters.cs
    │   │   ├── Listing11.40.ConversionBetweenGenericsWithDifferentTypeParameters.cs
    │   │   ├── Listing11.41.PreventingCovarianceMaintainsHomogeneity.cs
    │   │   ├── Listing11.42.PotentiallyPossibleCovariance.cs
    │   │   ├── Listing11.43.CovarianceUsingTheOutTypeParameterModifier.cs
    │   │   ├── Listing11.44 .CombiningCovarianceAndContravarianceInSingleGenericType.cs
    │   │   ├── Listing11.44.ContravarianceUsingTheInTypeParameterModifier.cs
    │   │   ├── Listing11.45.CompilerValidationOfVariance.cs
    │   │   ├── Listing11.46.StackDeclaration.cs
    │   │   ├── Listing11.47.CILCodeForStack.cs
    │   │   ├── Listing11.48.CILWithExclamationPointNotation.cs
    │   │   ├── Listing11.49.StackDefinition.cs
    │   │   ├── Listing11.50.DeclaringVariablesOfTypeStack.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter12
    │   │   ├── Chapter12.csproj
    │   │   ├── Listing12.01.BubbleSortMethod.cs
    │   │   ├── Listing12.02.BubbleSortMethodAscendingOrDescending.cs
    │   │   ├── Listing12.03.BubbleSortMethodWithDelegateParameter.cs
    │   │   ├── Listing12.04.DeclaringADelegateType.cs
    │   │   ├── Listing12.05.DeclaringANestedDelegateType.cs
    │   │   ├── Listing12.06.DeclaringAComparisonHandlerCompatibleMethod.cs
    │   │   ├── Listing12.07.UsingMethodNameAsArgument.cs
    │   │   ├── Listing12.08.PassingADelegateInstanceAsAParameterInCSharp.cs
    │   │   ├── Listing12.09.SystemDelegateCannotBeBaseClass.cs
    │   │   ├── Listing12.10.UsingADifferentComparisonHandlerCompatibleMethod.cs
    │   │   ├── Listing12.11.CreatingDelegateWithStatementLambda.cs
    │   │   ├── Listing12.12.OmittingParameterTypesFromStatementLambdas.cs
    │   │   ├── Listing12.13.StatementLambdasWithASingleInputParameter.cs
    │   │   ├── Listing12.14.ParameterlessStatementLambdas.cs
    │   │   ├── Listing12.15.PassingADelegateWithAnExpressionLambda.cs
    │   │   ├── Listing12.15__.PassingADelegateWithAStatementLambda.cs
    │   │   ├── Listing12.16.PassingAnAnonymousMethod.cs
    │   │   ├── Listing12.17.FuncAndActionDelegateDeclarations.cs
    │   │   ├── Listing12.18.UsingVarianceForDelegates.cs
    │   │   ├── Listing12.19.CSharpEquivalentOfCILGeneratedByTheCompilerForLambdaExpressions.cs
    │   │   ├── Listing12.20.UsingAnOuterVariableInALambdaExpression.cs
    │   │   ├── Listing12.21.CSharpEquivalentOfCILCodeGeneratedByCompilerForOuterVariables.cs
    │   │   ├── Listing12.22.CapturingLoopVariablesCSharpFive.cs
    │   │   ├── Listing12.23.LoopVariableWorkaroundBeforeCSharpFive.cs
    │   │   ├── Listing12.24.ConvertingExpressionTreeToSqlWhereClause.cs
    │   │   ├── Listing12.25.ExamingingAnExpressTree.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter12.Tests
    │   │   ├── Chapter12.Tests.csproj
    │   │   ├── Listing12.05.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter13
    │   │   ├── 13.7.sequencediagram
    │   │   ├── 13.7.sequencediagram.layout
    │   │   ├── Copy of Listing13.09.HandlingExceptionsFromSubscribers.cs
    │   │   ├── Listing13.01.HeaterAndCoolerEventSubscriberImplementations.cs
    │   │   ├── Listing13.02.DefiningTheEventPublsherThermostat.cs
    │   │   ├── Listing13.03.ConnectingThePublisherAndSubscribers.cs
    │   │   ├── Listing13.04.ConnectingThePublisherAndSubscribers.cs
    │   │   ├── Listing13.04.InvokingADelegate.cs
    │   │   ├── Listing13.05.InvokingADelegate.cs
    │   │   ├── Listing13.06.InvokingADelegatePre6.cs
    │   │   ├── Listing13.07.UsingthePlusEqualsAndMinusEqualsDelegateOperators.cs
    │   │   ├── Listing13.08.UsingThePlusAndMinusDelegateOperators.cs
    │   │   ├── Listing13.09.OnTemperatureChangedThrowingAnException.cs
    │   │   ├── Listing13.10.HandlingExceptionsFromSubscribers.cs
    │   │   ├── Listing13.11.UsingTheAssignmentOperationRatherThanPlusEquals.cs
    │   │   ├── Listing13.12.FiringTheEventFromOutsideTheEventContainer.cs
    │   │   ├── Listing13.13.UsingTheEventKeywordWithTheEventCodingPattern.cs
    │   │   ├── Listing13.14.DeclaringAGenericDelegateType.cs
    │   │   ├── Listing13.15.FiringTheEventNotification.cs
    │   │   ├── Listing13.16.UsingCustomDelegateType.cs
    │   │   ├── Listing13.17.DeclaringTheOnTemperatureChangeEvent.cs
    │   │   ├── Listing13.18.CSharpConceptualEquivalentOfEventCILCode.cs
    │   │   ├── Listing13.19.CustomAddAndRemoveHandlers.cs
    │   │   ├── Program_Main.sequencediagram
    │   │   ├── Program_Main.sequencediagram.layout
    │   │   ├── Program_Main_1.sequencediagram
    │   │   ├── Program_Main_1.sequencediagram.layout
    │   │   ├── Program_Main_2.sequencediagram
    │   │   ├── Program_Main_2.sequencediagram.layout
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── chapter13.csproj
    │   ├── Chapter13.Tests
    │   │   ├── Chapter13.Tests.csproj
    │   │   ├── Listing13.03.Tests.cs
    │   │   ├── Listing13.04.Tests.cs
    │   │   ├── Listing13.19.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter14
    │   │   ├── Chapter14.csproj
    │   │   ├── Listing14.01.ImplicitLocalVariablesWithAnonymousTypes.cs
    │   │   ├── Listing14.02.TypeSafetyAndImmutabilityOfAnonymousTypes.cs
    │   │   ├── Listing14.03.CollectionInitialization.cs
    │   │   ├── Listing14.04.DictionaryInitializers.cs
    │   │   ├── Listing14.05.InitializingAnonymousTypeArrays.cs
    │   │   ├── Listing14.06.ForeachWithArrays.cs
    │   │   ├── Listing14.07.CompiledImplementationOfForeachWithArrays.cs
    │   │   ├── Listing14.08.IteratingOverACollectionUsingWhile.cs
    │   │   ├── Listing14.09.ASeparateEnumeratorMaintainingStateDuringAnIteration.cs
    │   │   ├── Listing14.10.CompiledResultOfForeachOnCollections.cs
    │   │   ├── Listing14.11.ErrorHandlingAndResourceCleanupWithUsing.cs
    │   │   ├── Listing14.12.SampleClassesForUseWithStandardQueryOperators.cs
    │   │   ├── Listing14.13.FilteringWithSystem.Linq.Enumerable.Where.cs
    │   │   ├── Listing14.14.ProjectionWithSystem.Linq.Enumerable.Select.cs
    │   │   ├── Listing14.15.ProjectionWithSystem.Linq.Enumerable.Select.cs
    │   │   ├── Listing14.16.ProjectionToAnAnonymousType.cs
    │   │   ├── Listing14.17.ExecutingLinqQueriesInParallel.cs
    │   │   ├── Listing14.18.CountingItemsWithCount.cs
    │   │   ├── Listing14.19.FilteringWithSystem.Linq.Enumerable.Where.cs
    │   │   ├── Listing14.20.OrderingWithSystem.Linq.Enumerable.OrderByAndThenBy.cs
    │   │   ├── Listing14.21.SampleEmployeeAndDepartmentData.cs
    │   │   ├── Listing14.22.AnInnerJoinUsingSystem.Linq.Enumerable.Join.cs
    │   │   ├── Listing14.23.AnotherInnerJoinWithSystem.Linq.Enumerable.Join.cs
    │   │   ├── Listing14.24.GroupingItemsTogetherUsingSystem.Linq.Enumerable.GroupBy.cs
    │   │   ├── Listing14.25.CreatingAChildCollectionWithSystem.Linq.Enumerable.GroupJoin.cs
    │   │   ├── Listing14.26.ImplementingAnOuterJoinUsingGroupJoinWithSelectMany.cs
    │   │   ├── Listing14.27.CallingSelectMany.cs
    │   │   ├── Listing14.28.MoreSystem.Linq.EnumerableMethodCalls.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter14.Tests
    │   │   ├── Chapter14.Tests.csproj
    │   │   ├── Listing14.04.Tests.cs
    │   │   ├── Listing14.15.ProjectionWithSystem.Linq.Enumerable.Select.Tests.cs
    │   │   ├── Listing14.16.ProjectionToAnAnonymousType.Tests.cs
    │   │   ├── Listing14.17.ExecutingLinqQueriesInParallel.Tests.cs
    │   │   ├── Listing14.28.MoreSystem.Linq.EnumerableMethodCalls.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter15
    │   │   ├── Chapter15.csproj
    │   │   ├── Listing15.01.SimpleQueryExpression.cs
    │   │   ├── Listing15.02.ProjectingUsingQueryExpressions.cs
    │   │   ├── Listing15.03.AnonymousTypesWithinQueryExpressions.cs
    │   │   ├── Listing15.04.DeferredExecutionAndQueryExpressions1.cs
    │   │   ├── Listing15.05.DeferredExecutionAndQueryExpressions2.cs
    │   │   ├── Listing15.06.AnonymousTypesWithinQueryExpressions.cs
    │   │   ├── Listing15.07.SortingUsingAQueryExpressionWithAnOrderbyClause.cs
    │   │   ├── Listing15.08.ProjectingAFileInfoCollectionAndSortingByFileSize.cs
    │   │   ├── Listing15.09.OrderingTheResultsInAQueryExpression.cs
    │   │   ├── Listing15.10.GroupingTogetherQueryResults.cs
    │   │   ├── Listing15.11.SelectingAnAnonymousTypeFollowingTheGroupbyClause.cs
    │   │   ├── Listing15.12.SelectingWithoutTheQueryContinuation.cs
    │   │   ├── Listing15.13.MultipleSelection.cs
    │   │   ├── Listing15.14.CartesianProduct.cs
    │   │   ├── Listing15.15.ObtainingDistinctMembersFromAQueryExpression.cs
    │   │   ├── Listing15.16.SimpleQueryExpression.cs
    │   │   ├── Listing15.17.StandardQueryOperatorSyntax.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter15.Tests
    │   │   ├── Chapter15.Tests.csproj
    │   │   ├── Listing15.01.Tests.cs
    │   │   ├── Listing15.03.AnonymousTypesWithinQueryExpressions.Tests.cs
    │   │   ├── Listing15.04.Tests.cs
    │   │   ├── Listing15.05.Tests.cs
    │   │   ├── Listing15.07.SortingUsingAQueryExpressionWithAnOrderbyClause.Tests.cs
    │   │   ├── Listing15.08.ProjectingAFileInfoCollectionAndSortingByFileSize.Tests.cs
    │   │   ├── Listing15.10.Tests.cs
    │   │   ├── Listing15.11.Tests.cs
    │   │   ├── Listing15.13.Tests.cs
    │   │   ├── Listing15.15.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter16
    │   │   ├── Chapter16.csproj
    │   │   ├── Listing16.01.UsingList.cs
    │   │   ├── Listing16.02.ImplementingIComparer.cs
    │   │   ├── Listing16.03.UsingTheBitComplementOfTheBinarySearchResult.cs
    │   │   ├── Listing16.04.DemonstratingFindAllAndItsPredicateParameter.cs
    │   │   ├── Listing16.05.AddingItemsToADictionary.cs
    │   │   ├── Listing16.06.InsertingItemsInADictionaryUsingTheIndexOperator.cs
    │   │   ├── Listing16.07.IteratingOverDictionaryWithForeach.cs
    │   │   ├── Listing16.07a.IteratingOverSortedDictionaryWithForeach.cs
    │   │   ├── Listing16.08.ImplementingIEqualityComparer.cs
    │   │   ├── Listing16.09.DefiningAnIndexer.cs
    │   │   ├── Listing16.10.ChangingTheIndexersDefaultName.cs
    │   │   ├── Listing16.11.DefiningAnIndexOperatorWithVariableParameters.cs
    │   │   ├── Listing16.12.IteratorInterfacesPattern.cs
    │   │   ├── Listing16.13.YieldingTheCSharpKeywordsSequentially.cs
    │   │   ├── Listing16.14.UsingYieldToImplementBinaryTree.cs
    │   │   ├── Listing16.15.UsingPair.GetEnumeratorViaForeach.cs
    │   │   ├── Listing16.16.PlacingYieldReturnStatementsWithinALoop.cs
    │   │   ├── Listing16.17.UsingForeachWithBinaryTree.cs
    │   │   ├── Listing16.18.EscapingIterationViaYieldBreak.cs
    │   │   ├── Listing16.19.CSharpEquivalentOfCompilerGeneratedCodeForIterators.cs
    │   │   ├── Listing16.20.UsingYieldReturnInAMethodThatReturnsIEnumberable.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter16.Tests
    │   │   ├── Chapter16.Tests.csproj
    │   │   ├── Listing16.01.Tests.cs
    │   │   ├── Listing16.07.Tests.cs
    │   │   ├── Listing16.07a.Tests.cs
    │   │   ├── Listing16.11.Tests.cs
    │   │   ├── Listing16.17.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter17
    │   │   ├── Chapter17.csproj
    │   │   ├── Listing17.01.UsingTypeGetPropertiesToObtainAnObjectsPublicProperties.cs
    │   │   ├── Listing17.02.UsingTypeofToCreateASystem.TypeInstance.cs
    │   │   ├── Listing17.03.DynamicallyInvokingAMember.cs
    │   │   ├── Listing17.04.LeveragingNameofWithINotifyPropertyChanged.cs
    │   │   ├── Listing17.05.DeclaringTheStackClass.cs
    │   │   ├── Listing17.06.ReflectionWithGenerics.cs
    │   │   ├── Listing17.07.UsingReflectionWithGenericTypes.cs
    │   │   ├── Listing17.08.DecoratingAPropertyWithAnAttribute.cs
    │   │   ├── Listing17.09.DecoratingAPropertyWithMultipleAttributes.cs
    │   │   ├── Listing17.10.AssemblyAttributesWithinAssemblyInfo.cs
    │   │   ├── Listing17.11.SpecifyingAReturnAttribute.cs
    │   │   ├── Listing17.12.DefiningACustomAttribute.cs
    │   │   ├── Listing17.13.RetrievingACustomAttribute.cs
    │   │   ├── Listing17.14.ProvidingAnAttributeConstructor.cs
    │   │   ├── Listing17.14.ProvidingAnAttributeConstructor.cs~
    │   │   ├── Listing17.15.RetrievingASpecificAttributeAndCheckingItsInitialization.cs
    │   │   ├── Listing17.16.RetrievingCustomAttributeInstances.cs
    │   │   ├── Listing17.17.UpdatingCommandLineHandler.TryParseToHandleAliases.cs
    │   │   ├── Listing17.18.RestrictingTheConstructsAnAttributeCanDecorate.cs
    │   │   ├── Listing17.19.AttributeUsageAttributeRestrictingWhereToApplyAnAttribute.cs
    │   │   ├── Listing17.20.LimitingAnAttributesUsageWithAttributeUsageAttribute.cs
    │   │   ├── Listing17.21.UsingANamedParameter.cs
    │   │   ├── Listing17.22.UsingFlagsAttribute.cs
    │   │   ├── Listing17.23.UsingReflectionWithGenericTypes.cs
    │   │   ├── Listing17.24.UsingObsoleteAttribute.cs
    │   │   ├── Listing17.25.SavingADocumentUsingSystem.SerializableAttribute.cs
    │   │   ├── Listing17.26.ImplementingSystem.Runtime.Serialization.ISerializable.cs
    │   │   ├── Listing17.27.BackwardCompatibilityPriorToThe2.0Framework.cs
    │   │   ├── Listing17.30.DynamicProgrammingUsingReflection.cs
    │   │   ├── Listing17.31.TheCILForAttributesInGeneral.cs
    │   │   ├── Listing17.32.TheCILForAttributesInGeneral.cs
    │   │   ├── Listing17.33.ImplementingACustomDynamicObject.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter17.Tests
    │   │   ├── Chapter17.Tests.csproj
    │   │   ├── Listing17.04.LeveragingNameofWithINotifyPropertyChanged.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter18
    │   │   ├── 4.0
    │   │   │   ├── Listing18.01.StartingMethodInSeparateThread.cs
    │   │   │   ├── Listing18.01.StartingMethodInSeparateThread.cs.encrypt
    │   │   │   ├── Listing18.02.ReturningAResultFromTask.cs
    │   │   │   ├── Listing18.02.ReturningAResultFromTask.cs.encrypt
    │   │   │   ├── Listing18.03.RegisteringForNotifactionsWithContinueWith.cs
    │   │   │   ├── Listing18.03.RegisteringForNotifactionsWithContinueWith.cs.encrypt
    │   │   │   ├── Listing18.05.UnhandledExceptionsUsingContinueWith.cs
    │   │   │   ├── Listing18.05.UnhandledExceptionsUsingContinueWith.cs.encrypt
    │   │   │   ├── Listing18.06.CancelingATaskUsingCancellationToken.cs
    │   │   │   ├── Listing18.08.LoopSynchronouslyCalculatingPiInSections.cs
    │   │   │   ├── Listing18.09.StartingMethodInSeparateThread.cs
    │   │   │   ├── Listing18.10.ParallelExecutionOfAForeachLoop.cs
    │   │   │   ├── Listing18.11.UnhandledExceptionHandlingForParallelIterations.cs
    │   │   │   ├── Listing18.12.CancelingAParallelLoop.cs
    │   │   │   ├── Listing18.12.CancelingAParallelLoop.cs.encrypt
    │   │   │   ├── Listing18.13.LinqSelect.cs
    │   │   │   ├── Listing18.13.LinqSelect.cs.encrypt
    │   │   │   ├── Listing18.14.ParallelLinqSelect.cs
    │   │   │   ├── Listing18.14.ParallelLinqSelect.cs.encrypt
    │   │   │   ├── Listing18.15.ParallelLinqWithStandardQueryOperators.cs
    │   │   │   ├── Listing18.15.ParallelLinqWithStandardQueryOperators.cs.encrypt
    │   │   │   ├── Listing18.16.ParallelLinqWithQueryExpressions.cs
    │   │   │   ├── Listing18.16.ParallelLinqWithQueryExpressions.cs.encrypt
    │   │   │   ├── Listing18.18.StartingMethodUsingThread.cs
    │   │   │   ├── Listing18.18.StartingMethodUsingThread.cs.encrypt
    │   │   │   ├── Listing18.19.AynchronousCallsUsingThreadPool.cs
    │   │   │   ├── Listing18.19.AynchronousCallsUsingThreadPool.cs.encrypt
    │   │   │   ├── Listing18.20.RegisteringForUnhandledExceptions.cs
    │   │   │   └── Listing18.20.RegisteringForUnhandledExceptions.cs.encrypt
    │   │   ├── Chapter18.csproj
    │   │   ├── Chapter18.csproj.encrypt
    │   │   ├── Chapter18.csproj.user
    │   │   ├── Chapter18.csproj.user.encrypt
    │   │   ├── Cryptographer.cs
    │   │   ├── Cryptographer.cs.encrypt
    │   │   ├── Listing18.01.StartingAMethodThread.cs
    │   │   ├── Listing18.01.StartingAMethodThread.cs.encrypt
    │   │   ├── Listing18.02.UsingThreadPool.cs
    │   │   ├── Listing18.02.UsingThreadPool.cs.encrypt
    │   │   ├── Listing18.03.InvokingAnAsynchronousTask.cs
    │   │   ├── Listing18.03.InvokingAnAsynchronousTask.cs.encrypt
    │   │   ├── Listing18.04.PollingATask.cs
    │   │   ├── Listing18.04.PollingATask.cs.encrypt
    │   │   ├── Listing18.05.CallingTaskContinueWith.cs
    │   │   ├── Listing18.05.CallingTaskContinueWith.cs.encrypt
    │   │   ├── Listing18.06.RegisteringForNotificationsWithContinueWith.cs
    │   │   ├── Listing18.06.RegisteringForNotificationsWithContinueWith.cs.encrypt
    │   │   ├── Listing18.06.RegisteringForNotificationsWithContinueWith.exe
    │   │   ├── Listing18.06.RegisteringForNotificationsWithContinueWith.exe.encrypt
    │   │   ├── Listing18.07.HandlingATasksUnhandledException.cs
    │   │   ├── Listing18.07.HandlingATasksUnhandledException.cs.encrypt
    │   │   ├── Listing18.07.HandlingATasksUnhandledException.exe
    │   │   ├── Listing18.07.HandlingATasksUnhandledException.exe.encrypt
    │   │   ├── Listing18.08.ObservingUnhandledExceptionsWithContinueWith.cs
    │   │   ├── Listing18.08.ObservingUnhandledExceptionsWithContinueWith.cs.encrypt
    │   │   ├── Listing18.09.RegisteringForUnhandledExceptions.cs
    │   │   ├── Listing18.09.RegisteringForUnhandledExceptions.cs.encrypt
    │   │   ├── Listing18.10.CancellingTUsingCacellationToken.cs
    │   │   ├── Listing18.10.CancellingTUsingCacellationToken.exe
    │   │   ├── Listing18.11.UsingTaskRun.cs
    │   │   ├── Listing18.12.CooperativeLongRunningTasks.cs
    │   │   ├── Listing18.13.SynchronousWebRequest.cs
    │   │   ├── Listing18.14.AsynchronousWebRequest.cs
    │   │   ├── Listing18.15.AsynchronousWebRequestUsingTaskAsynchronyPattern.cs
    │   │   ├── Listing18.16.AsynchronousAsALambda.cs
    │   │   ├── Listing18.17.ImplementingCustomAsynchronousMethod.cs
    │   │   ├── Listing18.18.CustomMethodWithProgressSupport.cs
    │   │   ├── Listing18.19.AwaitStatement.cs
    │   │   ├── Listing18.19.AwaitStatement.cs.encrypt
    │   │   ├── Listing18.20.CallingTaskContinueWith.cs
    │   │   ├── Listing18.20.CallingTaskContinueWith.cs.encrypt
    │   │   ├── Listing18.21.SynchronousHighLatencyWPF.cs
    │   │   ├── Listing18.21.SynchronousHighLatencyWPF.cs.encrypt
    │   │   ├── Listing18.22.AsynchronousHighLatencyWPF.cs
    │   │   ├── Listing18.22.AsynchronousHighLatencyWPF.cs.encrypt
    │   │   ├── Listing18.23.AwaitsAndControlFlow.cs
    │   │   ├── Listing18.23.AwaitsAndControlFlow.cs.encrypt
    │   │   ├── Listing18.24.SynchronousPiSections.cs
    │   │   ├── Listing18.24.SynchronousPiSections.cs.encrypt
    │   │   ├── Listing18.25.ParallelPiCalculation.cs
    │   │   ├── Listing18.25.ParallelPiCalculation.cs.encrypt
    │   │   ├── Listing18.26.ParallelForeachLoop.cs
    │   │   ├── Listing18.26.ParallelForeachLoop.cs.encrypt
    │   │   ├── Listing18.27.UnhandledExceptionsParallelIterations.cs
    │   │   ├── Listing18.27.UnhandledExceptionsParallelIterations.cs.encrypt
    │   │   ├── Listing18.28.CancelingParallelLoop.cs
    │   │   ├── Listing18.28.CancelingParallelLoop.cs.encrypt
    │   │   ├── Listing18.29.LinqSelect.cs
    │   │   ├── Listing18.29.LinqSelect.cs.encrypt
    │   │   ├── Listing18.30.ParallelLinqSelect.cs
    │   │   ├── Listing18.30.ParallelLinqSelect.cs.encrypt
    │   │   ├── Listing18.31.ParallelLinqStandardQueryOperators.cs
    │   │   ├── Listing18.31.ParallelLinqStandardQueryOperators.cs.encrypt
    │   │   ├── Listing18.32.ParallelLinqQueryExpressions.cs
    │   │   ├── Listing18.32.ParallelLinqQueryExpressions.cs.encrypt
    │   │   ├── Listing18.33.CancelingParallelLoop.cs
    │   │   ├── Listing18.33.CancelingParallelLoop.cs.encrypt
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Utility.cs
    │   │   ├── Utility.cs.encrypt
    │   │   ├── app.config
    │   │   └── app.config.encrypt
    │   ├── Chapter18.Tests
    │   │   ├── Chapter18.Tests.csproj
    │   │   ├── Listing18.05.Test.cs
    │   │   ├── Listing18.06.Test.cs
    │   │   ├── Listing18.08.Tests.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── Chapter19
    │   │   ├── Chapter19.csproj
    │   │   ├── Chapter19.csproj.user
    │   │   ├── Listing19.01.UnsychronizedState.cs
    │   │   ├── Listing19.02.UnsychronizedLocalVariables.cs
    │   │   ├── Listing19.03.UnsychronizedLocalVariables.cs
    │   │   ├── Listing19.04.SynchonizingWithMonitor.cs
    │   │   ├── Listing19.05.SynchronizingUsingLockKeyword.cs
    │   │   ├── Listing19.06.SynchronizingUsingInterlocked.cs
    │   │   ├── Listing19.07.FiringEventNotification.cs
    │   │   ├── Listing19.08.ThreadSafeEventNotification.cs
    │   │   ├── Listing19.09.CreatingASingleInstanceApplication.cs
    │   │   ├── Listing19.10.WaitingForManualResetEventSlim.cs
    │   │   ├── Listing19.11.UsingThreadLocalForThreadLocalStorage.cs
    │   │   ├── Listing19.12.UsingThreadStaticAttribute.cs
    │   │   ├── Listing19.13.TaskDelayAsTimer.cs
    │   │   ├── PiCalculation.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── app.config
    │   ├── Chapter20
    │   │   ├── Chapter20.csproj
    │   │   ├── Listing20.17.ModifyingAnImmutableString.cs
    │   │   ├── Listing20.18.ModifyingAnImmutableWithTheIndexOperatorInUnsafeCode.cs
    │   │   ├── Listing20.19.DirectlyAccessingAReferentTypesMembers.cs
    │   │   ├── Listing20.20.DesignatingABlockForUnsafeCode.cs
    │   │   └── Properties
    │   │       └── AssemblyInfo.cs
    │   ├── ChapterAppB
    │   │   ├── AppendixB.csproj.vspscc
    │   │   ├── ChapterAppB.csproj
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── TicTacToe.cs
    │   ├── ChapterAppC
    │   │   ├── AppendixC.01.CallingAPMOnWebRequest.cs
    │   │   ├── AppendixC.02.InvokingAPMWithCallbackAndState.cs
    │   │   ├── AppendixC.03.PassingStateUsigClosureOnAnonymousMethod.cs
    │   │   ├── AppendixC.04.UsingTaskToCallAPM.cs
    │   │   ├── AppendixC.05.UsingTaskToCallAPMUsingContinueWith.cs
    │   │   ├── AppendixC.06.UsingTaskToCallAPMUsingContinueWith.cs
    │   │   ├── AppendixC.07.AsynchronousDelegateInvocation.cs
    │   │   ├── AppendixC.08.ImplementingEAP.cs
    │   │   ├── AppendixC.09.UnhandledExceptionHandling.cs
    │   │   ├── AppendixC.10.HandlingUnhandledExceptionsFromTheWorkerThread.cs
    │   │   ├── AppendixC.11.AccessingTheUserInterfaceViaInvoke.cs
    │   │   ├── AppendixC.12.SafelyInvokingUserInterfaceObjects.cs
    │   │   ├── ChapterAppC.csproj
    │   │   ├── ChapterAppC.csproj.user
    │   │   ├── PiCalculation.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── app.config
    │   ├── ChapterAppD
    │   │   ├── ChapterAppD.csproj
    │   │   ├── ListingD.01.UsingSystemTimersTimer.cs
    │   │   ├── ListingD.02.UsingSystemThreadingTimer.cs
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── app.config
    │   ├── EssentialCSharp.sln
    │   ├── EssentialCSharp.sln.DotSettings
    │   ├── IntelliTect.ConsoleView
    │   │   ├── IntelliTect.ConsoleView.csproj
    │   │   ├── IntelliTect.ConsoleView.csproj.user
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   ├── Readme.txt
    │   │   └── Tester.cs
    │   ├── IntelliTect.ConsoleView.Tests
    │   │   ├── IntelliTect.ConsoleView.Tests.csproj
    │   │   ├── Properties
    │   │   │   └── AssemblyInfo.cs
    │   │   └── TesterTests.cs
    │   ├── Modelling
    │   │   ├── 13.7.sequencediagram
    │   │   ├── 13.7.sequencediagram.layout
    │   │   ├── ModelDefinition
    │   │   │   └── Modelling.uml
    │   │   └── Modelling.modelproj
    │   ├── RenumberListings.ps1
    │   ├── Shared
    │   │   ├── PiCalculator InternalPiDigitCalculator.cs
    │   │   ├── PiCalculator.cs
    │   │   └── Program.cs
    │   ├── enumtest.txt
    │   └── enumtest2.txt
    ├── README.md
    ├── SetProjectRenameAlias.ps1
    └── Utilities
        └── ProjectRename
            ├── LocalTestRun.testrunconfig
            ├── ProjectRename
            │   ├── CommandLine.cs
            │   ├── Dnp.dll
            │   ├── Dnp.pdb
            │   ├── Program.cs
            │   ├── ProjectRename.csproj
            │   ├── ProjectRename.csproj.vspscc
            │   └── Properties
            │       └── AssemblyInfo.cs
            ├── ProjectRename.Test
            │   ├── MockProject
            │   │   ├── Chapter05
            │   │   │   └── Listing5_15-29
            │   │   │       ├── Chapter5.Listing5_09-14.csproj
            │   │   │       ├── DataStorage.cs
            │   │   │       ├── Employee.cs
            │   │   │       └── Program.cs
            │   │   └── Chapter05.Test
            │   │       ├── Listing5_01-06.ProgramTest.cs
            │   │       └── Listing5_07-08.ProgramTest.cs
            │   ├── ProgramTest.cs
            │   ├── ProjectRename.Test.csproj
            │   ├── ProjectRename.Test.csproj.vspscc
            │   └── Properties
            │       └── AssemblyInfo.cs
            ├── ProjectRename.sln
            ├── ProjectRename.vsmdi
            └── ProjectRename.vssscc

94 directories, 844 files


标签: Csharp SSE C# LCS 6.0

实例下载地址

EssentialCSharp 6.0 c# 6.0 本质论 原版图书代码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警