C# 8 and .NET Core 3.1 Recipes - Second Edition

Video description

C# is a multi-paradigm programming language providing support for software engineering principles such as strong type checking, array bound checking, automatic garbage collection, and more. C# 8 comes with a host of new features to build powerful cross-platform applications. Also, ASP.NET Core is the web application framework through which you can develop enterprise-grade web apps.

In this course, you will learn quick and easy ways to develop apps using the latest features of C# 8 and .NET Core 3.1. Kitted out with those skills in your toolset, this course will then help you to make the most of the next sections focusing on advanced C# use cases that are particularly suited to real-world application development.

Moving further, you will get in-depth knowledge of ASP.NET Core 3.1 Web API framework along with authentication methods and Entity Framework Core, the de facto ORM for C# and .NET Core. Finally, you will work with the latest technologies in the .NET Ecosystem, primarily Razor Pages for quickly bootstrapping smart pages and Blazor for building C# apps for the browser. Finally, you will build a desktop application with WPF and .NET Core.

Please note that prior knowledge of C# and some experience with ASP.NET is assumed for taking this course.

What You Will Learn

  • Install and master Visual Studio 2019 and the latest, LTS version of .NET Core
  • Write less repeatable code by utilizing default interface methods, read-only methods and pattern matching
  • Stay up-to-date with the latest improvements in C#’s 8th iteration
  • Write event-driven C# programs and master Lambda Expressions
  • Apply SQL-like queries to objects and collections with LINQ
  • Learn how to map complex relationships to code-first models with EF Core
  • Enable authentication for your API with ASP.NET Core Identity
  • Master Dependency Injection and get the most out of your services
  • Avoid boilerplate code when building simple pages with Razor
  • Build native Windows applications with WPF on .NET Core

Audience

This course is for experienced C# developers who want to get up-to-speed with the latest changes in C# and ASP.NET Core and/or gain more in-depth knowledge of advanced C# concepts. This course is also recommended for viewers who benefited from the 1st edition of this course, viz: C# 7 and .NET Core 2.0 Recipes.

Requirements: Experience with C# and .NET Core; working with databases; basic understanding of HTML, CSS, and JavaScript.

About The Author

Dimitiris Loukas: Dimitris Loukas is a software engineer currently writing Single Page Applications and using the latest JavaScript with Aurelia, Angular, C#, and .NET Core for a trading software firm. He has worked for two start-ups in the past, is active in the open source community, and loves taking up small side-projects. He has mastered Angular, Aurelia, and Vue.JS and is now interested in entering the ReactJS world. He is an early adopter of .NET Core and is fascinated by modern JavaScript and where the web is going.

Table of contents

  1. Chapter 1 : Getting Started with New Features of C# 8
    1. Course Overview
    2. Installing Visual Studio 2019 and .NET Core
    3. Avoiding State Modifications with Read-Only Members
    4. Writing Less Code with Default Interface Methods
    5. Isolating Groups of Data with Ranges and Indices
    6. Writing Faster Assignments with Null-Coalescing Operators
  2. Chapter 2 : Handling Collections and Data in C# 8
    1. Upgrading Your Switch Clauses with Pattern Matching
    2. Simplifying Using Declarations
    3. Capturing the context with Static Local Functions
    4. Disposable ref Structs and Nullable Reference Types
    5. Adding a Pull-Based Approach to Your Data with Asynchronous Streams
  3. Chapter 3 : Advanced Event Handling and Asynchronicity in C#
    1. Achieving Inter-Component Communication with Delegates and Events
    2. Responding to Events Faster with Action and Function
    3. Avoiding Unnecessary Classes with Anonymous Types
    4. Efficient Event Handling with Lambda Expressions
    5. Treating Collections Like Databases with LINQ
    6. Performing Multithreading and Multitasking with Threads and Tasks
    7. Modifying Method Behavior with Attributes
  4. Chapter 4 : Database-Driven Applications with Entity Framework Core
    1. Writing Our first ORM Model
    2. Keeping Your Schemas Under Version Control with Migrations
    3. One-to-One Relationships between Models
    4. One-to-Many Relationships between Models
    5. Many-to-Many Relationships between Models
    6. Ensuring Concurrency with the Fluent API
  5. Chapter 5 : RESTful APIs with ASP.NET Core
    1. Bootstrap Your Web API with the Start-Up Class
    2. Managing Services with Dependency Injection
    3. Connecting EF Core and Build Models
    4. Mapping and Serialize Your Properties
    5. Build an ASP.NET Core Controller
    6. Use ASP.NET Identity to Authenticate Users
  6. Chapter 6 : Razor Pages, Blazor, and WebAssembly
    1. Getting Started with WebAssembly and Blazor
    2. Using JavaScript from within Blazor
    3. Styling a Blazor Application
    4. Bootstrapping Our First Razor Page
    5. Adding Context to Razor Pages
  7. Chapter 7 : Creating a Desktop Application with WPF
    1. Creating a WPF Project
    2. Getting Started with XAML
    3. Positioning Your Components in the XAML Grid
    4. Creating Dynamic User Experience with Properties, Events, and Data Binding
    5. Handling Actions with Event Binding

Product information

  • Title: C# 8 and .NET Core 3.1 Recipes - Second Edition
  • Author(s): Dimitris Loukas
  • Release date: March 2020
  • Publisher(s): Packt Publishing
  • ISBN: 9781838986728