C# 6 Development

This course takes a close look at C# 6, which was introduced in Visual Studio 2015. There is a more recent version of this course available, if you want to learn the latest details available in C# 7 and Visual Studio 2017.


5 days



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

What you'll learn

  • Essential C# syntax
  • Implementing object-oriented designs in C#
  • Using generics, collection classes, and exceptions
  • What's new in C# 6 and .NET 2015
  • Using LINQ and EF
  • Introduction to asynchronous programming
  • Overview of ASP.NET Core MVC

Course details

Introduction to C# and .NET

  • .NET Framework building blocks
  • Hello world in C#
  • Using Visual Studio 2015
  • 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
  • Using implicit types

More C# Programming Constructs

  • Defining methods
  • Input, output, and optional parameters
  • 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
  • Defining new exception classes
  • Defining Using blocks

Creating Collections of Objects

  • Overview of generics
  • Using List collections
  • Using Dictionary collections

What's 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

Additional Language Features

  • Operator overloading
  • Extension methods
  • Object initializers
  • Anonymous types

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

Overview of ASP.NET Core MVC

  • Creating an ASP.NET Core MVC application
  • Defining models, views, and controllers
  • Introduction to REST and Web API