CSharp, Visual Studio 2017, .NET Core

C# 7.0 and Visual Studio 2017 Updates

Visual Studio celebrates 20 years, and C# gets another major update with version 7.0. This workshop gives you all the details on the changes with C# 7.0, as well as new features available with Visual Studio 2017, and the new .NET Core tools that are now released for .NET Core 1.1.

Attendees are expected to know working with Visual Studio and know C# and .NET.

For company specific courses, the course can be adapted to your existing knowledge, e.g. moving from C# 5.0 to C# 7.0, or any other version.

Content

  • C# Goals
  • C# 7.0 New Features
    • Binary Literals
    • Digit Separators
    • Out Var, Ref Locals, and Ref Returns
    • Local Functions
    • Expression Syntax Everywhere
    • Throw Expressions
    • Tuples and Deconstruction
    • Pattern Matching
  • .NET Core Updates
    • Updates with .NET Core 1.1 and the upcoming .NET Core 2.0
    • New .NET Core Tools and csproj
    • Migrating from project.json to csproj
    • What is .NET Standard and how to use it
  • New Features of Visual Studio 2017
    • Lightweight Solution Load
    • EditorConfig with Visual Studio
    • XAML Improvements
    • Connected Services
    • Live Unit Testing
    • Docker Integration
    • Continuous Delivery Tools

C# Goals

What are the goals of C#? What are the directions of development? You learn the pragmatical aspects that are used bringing C# further, and how the new features help with todays application development. You'll also learn how the design of the C# language can be influenced.

C# 7.0 New Features

C# 7.0 brings a large lists of both small and big features. You'll learn how it is easier to deal with binary data with binary literals, and how the code can be more readable with digit separators. You'll see how out parameters are simplified, and the advantages and use cases for ref locals and ref returns. You'll learn to create and use local functions, the short-handed expression syntax that is available in a lot more places, as well as throw expressions. Probably the most important features of C# 7.0 are tuples and deconstruction, as well as pattern matching. These features get a great coverage in this workshop.

Overall a lot of the new features are coming from functional programming, and you learn how to take advantage of functional programming aspects and use them with your applications.

.NET Core Updates

With Visual Studio 2017, the tools for .NET Core are released. Along with the release, the project files changed from project.json to csproj. You learn the advantages of the tool updates, and how to migrate existing .NET Core projects to the new project file format.

The .NET Standard allows creating libraries that can be used not only from .NET Core but also the .NET Framework. You'll learn how the .NET Standard influences your existing .NET Framework applications, and reasons to create different library types such as portable libraries, .NET Framework libraries, .NET Core libraries, and .NET Standard libraries.

New Features of Visual Studio 2017

A big change of Visual Studio you will see immediately when installing Visual Studio. The installation is now a lot easier and faster. Using Visual Studio, there are a lot more features that will be covered in this workshop. With leightweight solution load, large solutions can start working a lot faster - without the need for a coffee break in the morning. EditorConfig allows defining code styles on a project by project basis, the XAML editor has been enhanced - not only for UWP but also for WPF. You'll learn about using Connected Services to take advantages of services such as Azure Storage, the Azure Active Directory, Office 365, Salesforce, or others. Live unit testing brings you another great integration of unit tests to Visual Studio. As you type code, the code is automatically tested. Visual Studio also brings great integration to Docker and Continuous Delivery Tools, which are an important topic covered in this workshop.

Flexible Content

This workshop is offered as company-based workshop and occasionaly with open course dates. I'm flexible in adapting this workshop to your specific needs. Get in contact to discuss the knowledge you already have and the goals of your project.

Interested in this workshop?