C# 7 Development

C# 7 is new in Visual Studio 2017, and is the latest evolution of Microsoft's primary programming language. This course covers the latest language features in C# 7 and the .NET 2017 platform. You'll 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.

Duration

5 days

 

Prerequisites

  • 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# 7 and .NET 2017
  • Using LINQ and EF
  • Introduction to asynchronous programming
  • Overview of ASP.NET MVC

Course details

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

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
  • 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