C# 9 and .NET 5 – Modern Cross-Platform Development - Fifth Edition
(C9-NET5.AJ1) / ISBN : 978-1-64459-249-6
About This Course
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.
Skills You’ll Get
Get the support you need. Enroll in our Instructor-Led Course.
Interactive Lessons
22+ Interactive Lessons | 168+ Quizzes | 210+ Flashcards | 210+ Glossary of terms
Gamified TestPrep
60+ Pre Assessment Questions | 60+ Post Assessment Questions |
Hands-On Labs
65+ LiveLab | 65+ Video tutorials | 01:30+ Hours
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
Speaking C#
- Introducing C#
- Understanding C# basics
- Working with variables
- Working with null values
- Exploring console applications further
- Practicing and exploring
- Summary
Controlling Flow and Converting Types
- Operating on variables
- Understanding selection statements
- Understanding iteration statements
- Casting and converting between types
- Practicing and exploring
- Summary
Writing, Debugging, and Testing Functions
- Writing functions
- Debugging during development
- Logging during development and runtime
- Unit testing functions
- Practicing and exploring
- Summary
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Building Intelligent Apps Using Machine Learning
- Understanding machine learning
- Understanding ML.NET
- Making product recommendations
- Practicing and exploring
- Summary
Building Web User Interfaces Using Blazor
- Understanding Blazor
- Building components using Blazor Server
- Building components using Blazor WebAssembly
- Practicing and exploring
- Summary
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
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