In this C# training course, students already familiar with C# programming will learn advanced C# techniques.This advanced C# course is taught using C# 8.Prerequisites:Students should have experience with C# and working knowledge of the skills covered in Core Skills: Level 1. Specifically, you should know:How C# works and its place in the world of programming languagesIts relationship with the Common Language Infrastructure and .NET FrameworkC# data types and operatorsHow to write selection statements and loopsGeneric programming and working with collectionsTools for processing data with C#and error handling.Course OutlineAdvanced TopicsDelegates and eventsDelegatesEventsAnonymous typesTuplesThe Tuple classValue tuplesPattern matchingThe is expressionThe switch expressionRegular expressionsOverviewMatching input textFinding substringsReplacing parts of a textExtension methodsResource ManagementGarbage collectionFinalizersThe IDisposable interfaceThe using statementPlatform invokeUnsafe codeLambdas, LINQ, and Functional ProgrammingFunctional programmingFunctions as first-class citizensLambda expressionsLINQStandard query operatorsQuery syntaxMore functional programming conceptsPartial function applicationCurryingClosuresMonoidsMonadsSummaryTest what you learnedReflection and Dynamic ProgrammingUnderstanding reflectionDynamically loading assembliesUnderstanding late bindingUsing the dynamic typeAttributesSystem attributesUser-defined attributesHow to use attributes?Attribute targetsAssembly attributesAttributes in reflectionMultithreading and Asynchronous ProgrammingWhat is a thread?Creating threads in .NETUsing the ThreadPool classUnderstanding synchronization primitivesThe task paradigmSynchronous implementations of asynchronous methodsOccasionally asynchronous methodsBreaking the task chain – blocking the threadManually creating a taskLong-running tasksBreaking the task chain – fire and forgetTask and exceptionsCanceling a taskMonitoring the progress of a taskParallelizing tasksSignaling tasks with the TaskCompletionSource objectSynchronization contextC# in Action with .NET Core 3Using the .NET command-line interface (CLI)Developing on Linux distributionsPreparing the development boxWriting cross-platform aware codeWhat .NET Standard is and how can it help the application designCreating a .NET Standard libraryConsuming NuGet packagesAdding packages to a projectMigrating from .NET Framework to .NET CoreAnalyzing your architecturePreparing the migration processMigrating the librariesMigrating the testsMigrating the desktop projectsMigrating ASP.NET projectSumming up the migration stepsPublishing an applicationPublishing as an FDDPublishing as an SCDUnderstanding other publishing optionsUnit TestingWhat is unit testing?What are Microsoft tools for unit testing?Creating a C# unit testing projectWriting unit testsAnalyzing code coverageThe anatomy of a testWriting data-driven unit testsData from attributesDynamic dataData from external sources
Overview
Taught by
ONLC Training Centers