C# 9 and .NET 5 – Modern Cross-Platform Development - Fifth Edition

(C9-NET5.AJ1)/ISBN:978-1-64459-249-6

This course includes
Lessons
TestPrep
Hand-on Lab
AI Tutor (Add-on)

Learn C# programming skills with the C# 9 and .NET 5 – Modern Cross-Platform Development course and lab. The C# training course and lab provide skills required for performing tasks like managing and querying data, monitoring and improving performance, and working with the file system. The C# course comes with the best C# tutorial that provides hands-on expertise on the fundamentals of C#, including object-oriented programming and new C# 9 features.

Lessons

22+ Lessons | 168+ Quizzes | 210+ Flashcards | 210+ Glossary of terms

TestPrep

60+ Pre Assessment Questions | 60+ Post Assessment Questions |

Hand on lab

65+ LiveLab | 65+ Video tutorials | 01:30+ Hours

Here's what you will learn

Download Course Outline

Lessons 1: Hello, C#! Welcome, .NET!

  • Setting up your development environment
  • Understanding .NET
  • Building console apps using Visual Studio Code
  • Downloading solution code from the GitHub repository
  • Looking for help
  • Practicing and exploring
  • Summary

Lessons 2: Speaking C#

  • Introducing C#
  • Understanding C# basics
  • Working with variables
  • Working with null values
  • Exploring console applications further
  • Practicing and exploring
  • Summary

Lessons 3: Controlling Flow and Converting Types

  • Operating on variables
  • Understanding selection statements
  • Understanding iteration statements
  • Casting and converting between types
  • Practicing and exploring
  • Summary

Lessons 4: Writing, Debugging, and Testing Functions

  • Writing functions
  • Debugging during development
  • Logging during development and runtime
  • Unit testing functions
  • Practicing and exploring
  • Summary

Lessons 5: Building Your Own Types with Object-Oriented Programming

  • Talking about object-oriented programming
  • Building class libraries
  • Storing data within fields
  • Writing and calling methods
  • Controlling access with properties and indexers
  • Pattern matching with objects
  • Working with records
  • Practicing and exploring
  • Summary

Lessons 6: Implementing Interfaces and Inheriting Classes

  • Setting up a class library and console application
  • Simplifying methods
  • Raising and handling events
  • Implementing interfaces
  • Making types safely reusable with generics
  • Managing memory with reference and value types
  • Inheriting from classes
  • Casting within inheritance hierarchies
  • Inheriting and extending .NET types
  • Practicing and exploring
  • Summary

Lessons 7: Understanding and Packaging .NET Types

  • Introducing .NET 5
  • Understanding .NET components
  • Publishing your applications for deployment
  • Decompiling assemblies
  • Packaging your libraries for NuGet distribution
  • Porting from .NET Framework to .NET 5
  • Practicing and exploring
  • Summary

Lessons 8: Working with Common .NET Types

  • Working with numbers
  • Working with text
  • Pattern matching with regular expressions
  • Storing multiple objects in collections
  • Working with spans, indexes, and ranges
  • Working with network resources
  • Working with types and attributes
  • Working with images
  • Internationalizing your code
  • Practicing and exploring
  • Summary

Lessons 9: Working with Files, Streams, and Serialization

  • Managing the filesystem
  • Reading and writing with streams
  • Encoding and decoding text
  • Serializing object graphs
  • Practicing and exploring
  • Summary

Lessons 10: Protecting Your Data and Applications

  • Understanding the vocabulary of protection
  • Encrypting and decrypting data
  • Hashing data
  • Signing data
  • Generating random numbers
  • What's new in cryptography?
  • Authenticating and authorizing users
  • Practicing and exploring
  • Summary

Lessons 11: Working with Databases Using Entity Framework Core

  • Understanding modern databases
  • Setting up EF Core
  • Defining EF Core models
  • Querying EF Core models
  • Loading patterns with EF Core
  • Manipulating data with EF Core
  • Practicing and exploring
  • Summary

Lessons 12: Querying and Manipulating Data Using LINQ

  • Writing LINQ queries
  • Working with sets and bags using LINQ
  • Using LINQ with EF Core
  • Sweetening LINQ syntax with syntactic sugar
  • Using multiple threads with parallel LINQ
  • Creating your own LINQ extension methods
  • Working with LINQ to XML
  • Practicing and exploring
  • Summary

Lessons 13: Improving Performance and Scalability Using Multitasking

  • Understanding processes, threads, and tasks
  • Monitoring performance and resource usage
  • Running tasks asynchronously
  • Synchronizing access to shared resources
  • Understanding async and await
  • Practicing and exploring
  • Summary

Lessons 14: Introducing Practical Applications of C# and .NET

  • Understanding app models for C# and .NET
  • New features in ASP.NET Core
  • Understanding SignalR
  • Understanding Blazor
  • Understanding the bonus lessons
  • Building an entity data model for Northwind
  • Summary

Lessons 15: Building Websites Using ASP.NET Core Razor Pages

  • Understanding web development
  • Understanding ASP.NET Core
  • Exploring Razor Pages
  • Using Entity Framework Core with ASP.NET Core
  • Using Razor class libraries
  • Configuring services and the HTTP request pipeline
  • Practicing and exploring
  • Summary

Lessons 16: Building Websites Using the Model-View-Controller Pattern

  • Setting up an ASP.NET Core MVC website
  • Exploring an ASP.NET Core MVC website
  • Customizing an ASP.NET Core MVC website
  • Using other project templates
  • Practicing and exploring
  • Summary

Lessons 17: Building Websites Using a Content Management System

  • Understanding the benefits of a CMS
  • Understanding Piranha CMS
  • Defining components, content types, and templates
  • Testing the Northwind CMS website
  • Practicing and exploring
  • Summary

Lessons 18: Building and Consuming Web Services

  • Building web services using the ASP.NET Core Web API
  • Documenting and testing web services
  • Consuming services using HTTP clients
  • Implementing advanced features
  • Understanding other communication technologies
  • Practicing and exploring
  • Summary

Lessons 19: Building Intelligent Apps Using Machine Learning

  • Understanding machine learning
  • Understanding ML.NET
  • Making product recommendations
  • Practicing and exploring
  • Summary

Lessons 20: Building Web User Interfaces Using Blazor

  • Understanding Blazor
  • Building components using Blazor Server
  • Building components using Blazor WebAssembly
  • Practicing and exploring
  • Summary

Lessons 21: Building Cross-Platform Mobile Apps

  • Understanding XAML
  • Understanding Xamarin and Xamarin.Forms
  • Building mobile apps using Xamarin.Forms
  • Consuming a web service from a mobile app
  • Practicing and exploring
  • Summary

Appendix A: Building Windows Desktop Apps

  • Understanding legacy Windows application platforms
  • Migrating WPF apps to .NET 5
  • Understanding the modern Windows platform
  • Creating a modern Windows app
  • Exploring common controls and acrylic brushes
  • Exploring Reveal
  • Using resources and templates
  • Replacing a control template
  • Using data binding
  • Practicing and exploring
  • Summary

Hands-on LAB Activities

Hello, C#! Welcome, .NET!

  • Creating a Simple Console Application
  • Getting Definitions of Data Types
  • Getting Help for the dotnet Tool

Speaking C#

  • Using Variables
  • Using the sizeof() Operator
  • Comparing Decimal and Double Values
  • Using the default() Operator
  • Using Interpolation of Strings
  • Formatting Strings
  • Getting Text Input From a User

Controlling Flow and Converting Types

  • Using Operators
  • Using the switch Statement
  • Using the if else Statement
  • Using the foreach Loop
  • Using the for Loop
  • Using the while Loop
  • Using the do while Loop
  • Using Error Handling
  • Implementing the Explicit Type Conversion
  • Implementing the Implicit Type Conversion

Writing, Debugging, and Testing Functions

  • Using Recursion
  • Using the return Keyword
  • Creating a Function
  • Logging in C#

Building Your Own Types with Object-Oriented Programming

  • Creating a Class
  • Creating an Object
  • Using Access Modifiers
  • Defining Fields in a Class
  • Using Properties
  • Using enum
  • Using Constructors
  • Using Methods in a Class
  • Using Tuples
  • Using Records

Implementing Interfaces and Inheriting Classes

  • Using Events
  • Using a Static Delegate
  • Using Instance Delegates
  • Creating an Abstract Class
  • Using Polymorphism
  • Using Encapsulation

Understanding and Packaging .NET Types

  • Publishing a Console Application

Working with Common .NET Types

  • Checking the Content of a String
  • Splitting a String
  • Using Regular Expressions
  • Using Dictionaries
  • Using Lists

Working with Files, Streams, and Serialization

  • Managing File Paths
  • Using a StreamWriter Class
  • Using StreamReader
  • Using the BinaryWriter Class
  • Using Serialization

Protecting Your Data and Applications

  • Implementing AES Encryption

Working with Databases Using Entity Framework Core

  • Managing a Database with SQLiteStudio
  • Setting up the dotnet-ef Tool
  • Connecting to a Database in Visual Studio

Querying and Manipulating Data Using LINQ

  • Using LINQ Queries
  • Using the LINQ OrderBy Operator
  • Using the UNION Operator
  • Using LINQ to XML

Improving Performance and Scalability Using Multitasking

  • Applying a Mutually Exclusive Lock
  • Using the Thread.Sleep Method

Building Websites Using ASP.NET Core Razor Pages

  • Finding a List and Configuring a Windows Service

Building Websites Using the Model-View-Controller Pattern

  • Creating a Link

Building and Consuming Web Services

  • Creating a Web Service

Building Web User Interfaces Using Blazor

  • Using Blazor