C#.NET 7 and .NET 2017 Development

C# 7 is new in Visual Studio 2017, and is the latest evolution of Microsofts primary programming language. This course covers the latest language features in C# 7 and the .NET 2017 platform. You will get a deep and broad understanding of C# as a programming language, and gain confidence to explore the richness of the .NET Framework library including asynchronous programming, LINQ, and EF.

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 2017; Namespaces and assemblies
  • 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; C# 7 pattern matching; Using implicit types
  • More C# Programming Constructs: Defining methods; Input, output, and optional parameters; C# 7 local functions; C# 7 enhancements for out and ref; 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
  • Inheritance and Polymorphism: Defining base classes and derived classes; Overriding methods; Abstract classes; Interfaces
  • Exception Handling: Defining Try/Catch/Finally blocks; Throwing exceptions; C# 7 throw expressions; Defining new exception classes; Defining Using blocks
  • Creating Collections of Objects: Overview of generics; Using List collections; Using Dictionary collections
  • Whats New in C# 6: Static using syntax; Auto-property initializers; Dictionary initializers; Exception filters; String interpolation
  • Delegates, Events, and Lambdas: Overview; Defining simple delegates; Defining and handling events; Using lambda expressions; Expression-bodied members in C# 6 and C# 7
  • Additional Language Features: Operator overloading; Extension methods; Object initializers; Anonymous types; C# 7 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; C#7 generalized async returns; Implementing asynchronous code
  • Overview of ASP.NET MVC: Creating an ASP.NET MVC application; Defining models, views, and controllers; Introduction to REST and Web API

 

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#

Counts as credit toward the following certification(s): MCSD: Windows Store Apps Using C#

Other relevant courses

4. March
5 days
Classroom
28. November
3 days
Classroom
28. January
4 days
Classroom