What's New in C#7, C#8, C#9 and C#10

via Udemy

Go to Course: https://www.udemy.com/course/csharp7-whats-new/

Overview

This short course covers the latest and greatest features of C#, covering versions 7, 7.1, 7.2, 7.3, 8.0, 9.0 and 10.0 of the language that are being sim-shipped with corresponding Visual Studio updates.Course TopicsHere's every language feature presented in this course, grouped by the version of the C# language.C# 7:Out VariablesPattern Matching (is and switch expressions)Tuples and Tuple DeconstructionLocal FunctionsRef Returns and LocalsExpression Bodied MembersThrow ExpressionsGeneralized Async Return TypesLiteral ImprovementsC# 7.1:How to turn on C# 7.1 supportAsync MainDefault ExpressionsRef AssembliesInfer Tuple NamesPattern-Matching with GenericsC# 7.2:Leading Digit Separators'Private Protected' Access ModifierNon-Trailing Named ArgumentsReference Semantics on Value Types:'In' Parameters'Ref Readonly' Variables'Ref Struct' and SpanC# 7.3:Performance improvementsAccess fixed fields without pinningReassign ref local variablesUse initializers on stackalloc arrays Use fixed statements on any type that supports a pattern Enhancements to existing features Tuple == and!= support Use expression variables in more locations Attach attributes to backing field of auto-properties Improved method resolution when arguments differ by 'in' Improved overload resolution New compiler options: deterministicpublicsignpathmapC# 8:Nullable Reference TypesIndices and RangesDefault Interface MembersPattern MatchingC# 9:Record TypesTop-Level CallsInitial SettersPattern Matching Improvements (type patterns, parenthesized patterns, conjunctive and, disjunctive or, negated not, relational patterns)Performance and Interop (Native sized integers (nint/nuint), function pointers, SkipLocalsInit)Fit and Finish (target-typed new, target type resolution of conditional expressions, static modifier for lambda expressions and anonymous methods, covariant return types, foreach GetEnumerator() use, discards as parameters to lambdas, attributes on local functions)C# Code Generators (partial method syntax, module initializers)C# 10:Record StructsGlobal Using DirectivesFile-Scoped Namespace DeclarationsExtended Property PatternsGeneric AttributesLambda Improvements (attributes, explicit return types, natural type inference)Enhanced #line directivesPrerequisitesKnowledge and understanding of C# 6 and earlierGeneral experience in.NET/C# application developmentLearning OutcomesAn understanding and appreciation of latest C# 7/7.1/7.2/7.3/8/9 language featuresUnderstanding of how to convert existing C# code to C# 7/7.1/7.2/7.3/8/9

Skills

Reviews