Overview
If you or your team are new to C# and .NET, why not check out our Fast Track to .NET (C#) course for a more complete introduction.
.NET and C# are rapidly evolving and sometimes it's hard to keep up. In this 1-2 day workshop we can help you fill in the gaps. We cover all the newest language features right up to C# 9 and you simply let us know which topics you want included.
Outline
Introduction
- The History and Evolution of .NET
- Platforms, Frameworks and Targeting
- .NET Standard
- .NET Core
- .NET 5.0
- Installing the SDK and CLI
- Extending the Command Line
- New Core Project Structure
- Managing projects via the CLI
Data Structures
- Classes vs structs
- Modern property syntax including init (C# 9)
- Expression Bodied Members (C# 6-7)
- Adding indexer methods and index initialisers
- Creating Tuples (C# 7)
- Creating Record Classes (C# 9)
- Easier immutability using the with keyword (C# 9)
- Deconstructing objects (C# 7)
- Default Interface Methods (C# 9)
Cleaner Syntax
- Using statically imported members (C# 6)
- Out variables updates in C# 7
- Writing switch expressions (C# 8)
- Accessing indices and ranges (C# 8)
- Simplified object creation with new() and default (C# 9)
- Releasing resources via IDisposable
- Applying using blocks and using declarations (C# 8)
- Exception Filters (C# 6)
- Pattern Matching (C# 7-9)
- Using nameof and Caller Attributes (C# 6-8)
- Easier literals (C# 7)
- Local and Static Local Functions and Lambdas (C# 7-9)
Null Safety
- Using Nullable references
- Null Conditional Operator
- Null Coalescing Operator
- Null Coalescing Assignment Operator (C# 9)
Threading and Performance
- The Task Parallel Library
- The async/await Pattern
- Consuming Asynchronous Streams (C# 8)
- Asynchronous Disposable Pattern (C# 8)
- Maximising efficiency with Span structures
- Minimising GC with stack allocations
- Pointers, refs and unsafe code
Requirements
At least 2 years working with C# and the .NET platform.