C# 8 Development

C# 8 is new in Visual Studio 2019, and is the latest evolution of Microsoft's primary programming language. This course covers the latest language features in C# 8, and includes a comparison of .NET Framework and .NET Core. You'll get a deep and broad understanding of C# as a programming language, and gain confidence to explore the richness of the .NET platform including asynchronous programming, LINQ, and EF.

What you'll learn

  • Essential C# syntax
  • Implementing object-oriented designs in C#
  • Using generics, collection classes, and exceptions
  • Using LINQ and EF
  • Introduction to asynchronous programming
  • Creating REST services using Web API
  • What's new in C# 8

Prerequisites:

  • At least 6 months programming experience
  • Familiarity with OO concepts would be an advantage

Course outline:

  • Introduction to C# and .NET: .NET Framework building blocks; Hello world in C#; Using Visual Studio 2019; .NET Framework vs. .NET Core
  • Core C# Programming Constructs: Variables, operators, and statements; Reference types vs. value types; Conversions; Nullable types; Using the Console and String classes; Flow-of-control; Pattern matching; Using implicit types
  • More C# Programming Constructs: Defining methods; Input, output, and optional parameters; Local functions; Method overloading; Arrays; Structures
  • Defining and Using Classes: Defining classes; Defining constructors and finalizers; Defining properties; Creating and disposing objects; Defining constants and read-only fields; Static members; Partial classes/methods; Deconstruction; Managing NuGet packages
  • Inheritance and Polymorphism: Defining base classes and derived classes; Overriding methods; Abstract classes; Interfaces
  • Exception Handling: Defining Try/Catch/Finally blocks; Throwing exceptions; Throw expressions; Defining new exception classes; Defining Using blocks
  • Creating Collections of Objects: Overview of generics; Using List collections; Using Dictionary collections
  • Delegates, Events, and Lambdas: Overview; Defining simple delegates; Defining and handling events; Using lambda expressions; Expression-bodied members
  • Additional Language Features: Operator overloading; Extension methods; Initializer syntax for objects, lists, and dictionaries; Anonymous types; Tuples
  • Introduction to LINQ: The role of LINQ; Simple LINQ query expressions; Using LINQ with collections; LINQ query operators
  • Using the Entity Framework: EF classes and DbContext; Implementing relationships; Managing data; Additional techniques
  • Introduction to Asynchronous Programming: Understanding the async and await keywords; Implementing asynchronous code
  • Creating REST Services using Web API: Introduction to REST and Web API; Implementing Web API controllers; Content negotiation; Best practices
  • What’s New in C# 8: Nullable reference types; Improved pattern matching; Asynchronous streams; Miscellaneous new language features

 

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Certification:

Exam 70-483 Programming in C#

 

Other relevant courses

27. January
5 days
Classroom
15. April
3 days
Classroom
13. January
4 days
Classroom