DelegatesWriting Plug-in Methods with DelegatesMulticast DelegatesMulticast delegate exampleInstance Versus Static Method TargetsGeneric Delegate TypesThe Func and Action DelegatesDelegates Versus InterfacesDelegate CompatibilityType compatibilityParameter compatibilityReturn type compatibilityGeneric delegate type parameter varianceEventsStandard Event PatternEvent AccessorsEvent ModifiersLambda ExpressionsExplicitly Specifying Lambda Parameter TypesCapturing Outer VariablesCapturing iteration variablesAnonymous Methodstry Statements and ExceptionsThe catch ClauseThe finally BlockThe using statementThrowing ExceptionsRethrowing an exceptionKey Properties of System.ExceptionCommon Exception TypesThe TryXXX Method PatternAlternatives to ExceptionsEnumeration and IteratorsEnumerationCollection InitializersIteratorsIterator Semanticsyield breakIterators and try/catch/finally blocksComposing SequencesNullable TypesNullable <T> StructImplicit and explicit nullable conversionsBoxing and unboxing nullable valuesOperator LiftingEquality operators (== and !=)Relational operators (<, <=, >=, >)All other operators (+, −, *, /, %, &, |, ^, <<, >>, +, ++, --, !, ~)Mixing nullable and non-nullable operatorsbool? with & and | OperatorsNull Coalescing OperatorScenarios for Nullable TypesAlternatives to Nullable TypesOperator OverloadingOperator FunctionsOverloading Equality and Comparison OperatorsCustom Implicit and Explicit ConversionsOverloading true and falseExtension MethodsExtension Method ChainingAmbiguity and ResolutionNamespacesExtension methods versus instance methodsExtension methods versus extension methodsAnonymous TypesDynamic BindingStatic Binding Versus Dynamic BindingCustom BindingLanguage BindingRuntimeBinderExceptionRuntime Representation of DynamicDynamic Conversionsvar Versus dynamicDynamic ExpressionsDynamic Calls without Dynamic ReceiversStatic Types in Dynamic ExpressionsUncallable FunctionsAttributesAttribute ClassesNamed and Positional Attribute ParametersAttribute TargetsSpecifying Multiple AttributesCaller Info Attributes (C# 5)Unsafe Code and PointersPointer BasicsUnsafe CodeThe fixed StatementThe Pointer-to-Member OperatorArraysThe stackalloc keywordFixed-size buffersvoid*Pointers to Unmanaged CodePreprocessor DirectivesConditional AttributesPragma WarningXML DocumentationStandard XML Documentation TagsUser-Defined TagsType or Member Cross-References