.NET Class Libraries with C#

Paths

.NET Class Libraries with C#

Authors: Matthew Soucoup, Jason Roberts, Paul D. Sheriff, Kevin Dockx, Xavier Morera, Stephen Haunts, Alexandru Dima, Steve Gordon, Matt Tester, Steve Smith, Neil Morrissey, Filip Ekberg

This path is for the developer possessing a command of the C# language desiring to learn and properly implement the capabilities of the .NET Framework Class Libraries. It is... Read more

What you will learn:

  • Visualize the structure of the .NET Framework
  • Create code to manage files and directories from .NET applications
  • Create code to manage paths in .NET Applications
  • Write code to read data from files in .NET
  • Develop code to write data to files
  • Develop code to properly handle file operations
  • Create code to properly manage ADO.NET database connections
  • Create Code to Read data from a database using ADO.NET

Pre-requisites

The learner is expected to have a full understanding of the C# language. .NET Framework and IDE is not as necessary.

.NET Class Libraries with C#

Take your skills to the next level moving beyond the basics of C# by learning how to harness the power of the .NET classes, interfaces, delegates, and value types.

.NET Class Libraries: The Big Picture

by Matthew Soucoup

Apr 6, 2021 / 1h 15m

1h 15m

Start Course
Description

A classic beginner’s dilemma is not being able to solve a problem because you don’t know which tools to use. For example, there are literally thousands of classes built-in to .NET, but where do you start to learn? In this course, .NET Class Libraries: The Big Picture, you’ll learn about the .NET class libraries you’ll use everyday. First, you’ll explore the differences between the .NET Framework, .NET Core, and .NET 5 and when to pick which. Next, you’ll discover functionality provided in read, write, and manipulate data. Finally, you’ll learn the classes involved in asynchronous programming and communicating with web resources.. When you’re finished with this course, you’ll have the skills and knowledge of .NET class libraries needed to start building .NET applications.

Table of contents
  1. Course Overview
  2. .NET in a Nutshell
  3. Manipulating Data
  4. Input/Output
  5. Asynchronous Programming
  6. Communicating with the Web
  7. Advanced Functionality

Working with Files and Streams in C#

by Jason Roberts

Jun 2, 2021 / 3h 25m

3h 25m

Start Course
Description

C# gives you many different ways to interact with the file system and read and write different types of data. It can be difficult however to know what the best approach is and where to find the classes that your file IO code needs. In this course, Working with Files and Streams in C#, you’ll gain the ability to manipulate files, directories, paths, and streams. First, you’ll explore how to manipulate files, directories, and paths. Next, you’ll discover how to monitor the file system and respond to changes such as a new file being written. Finally, you’ll learn how to both read and write text, binary, and CSV data by either reading the entire file into memory or by processing data in smaller chunks using streams. When you’re finished with this course, you’ll have the skills and knowledge of files and streams needed to read, process, and write data in C#.

Table of contents
  1. Course Overview
  2. Managing Files and Directories
  3. Monitoring the File System for Changes
  4. Reading and Writing Entire Files Into Memory
  5. Reading and Writing Data Incrementally Using Streams
  6. Reading and Writing CSV Data
  7. Creating Automated Tests for File Access Code

Implementing ADO.NET with C#

by Paul D. Sheriff

Feb 2, 2021 / 2h 29m

2h 29m

Start Course
Description

In this course, Implementing ADO.NET with C#, you find out why ADO.NET is still relevant in today's ORM world. First you learn how to connect and submit queries to a database. Next you learn the fastest way to retrieve data using a DataReader. You then learn to handle exceptions and report back great debugging information. Disconnected classes such as a DataTable, DataSet and DataViews are explored next. Working with a the ADO.NET builder classes help automate some of your ADO.NET code. Finally, you see a great set of wrapper classes you can use to eliminate up to 90% of the ADO.NET code you used to have to write, without sacrificing efficiency. When you are finished with this course you will have the skills and knowledge to access databases in the most efficient manner possible, while using the least amount of code. Software required: Visual Studio 2019, .NET 4.5/.NET 5, C#.

Table of contents
  1. Course Overview
  2. Why You Still Need to Know ADO.NET
  3. Connecting and Submitting Queries to a Database
  4. Retrieve Data Quickly Using the SqlDataReader
  5. Handling ADO.NET Exceptions
  6. Disconnected Classes Are Useful
  7. The Building Blocks of the DataTable
  8. Builder Classes Make It Easy to Work with ADO.NET
  9. Making ADO.NET Easy to Use

Using HttpClient to Consume APIs in .NET

by Kevin Dockx

Jun 1, 2021 / 3h 26m

3h 26m

Start Course
Description

APIs don't need to be difficult. In this course, Using HttpClient to consume APIs in .NET, you’ll learn to integrate your .NET applications with an API. First, you’ll explore HttpClient internals and basic CRUD interaction. Next, you’ll discover how to work with streams, compression and how to cancel requests that are no longer needed. Finally, you’ll learn how to improve the reliability of your requests and how to write unit tests that use HttpClient. When you’re finished with this course, you’ll have the skills and knowledge of using HttpClient needed to integrate your .NET application with an API..

Table of contents
  1. Course Overview
  2. Understanding Integration with an API Using HttpClient
  3. Handling Common Types of Integration (CRUD)
  4. Improving Performance with Partial Updates
  5. Improving Performance and Memory Use with Streams
  6. Supporting Cancellation
  7. Improving HttpClient Instance Management with HttpClientFactory
  8. Handling Faults and Errors
  9. Extending HttpClient with Custom HttpMessageHandlers
  10. Unit Testing with HttpClient

Getting Started with JSON in C# Using Json.NET

by Xavier Morera

Aug 5, 2020 / 3h 47m

3h 47m

Start Course
Description

The rising popularity of the web, mainly around JavaScript related technologies, has given JSON a great deal of importance over other data interchange formats, like XML.

In this course, Getting Started with JSON in C# Using Json.NET, you will learn foundational knowledge that will allow you to work with JSON in .NET.

First, you will learn the principles behind serialization fundamentals.

Next, you will discover how to control and customize serialization using settings and attributes. Then, you will explore advanced serialization and deserialization techniques, including LINQ to JSON.

Finally, you will learn about the future of Json.NET with .NET Core and .NET 5.

When you're finished with this course, you will have the skills and knowledge needed to work with JSON in .NET.

Table of contents
  1. Course Overview
  2. The Case for JSON and Json.NET
  3. Serialization Fundamentals
  4. Settings and Attributes
  5. Custom Serialization
  6. Performance Tips
  7. LINQ to JSON
  8. JSON and XML
  9. Binary JSON (BSON)
  10. Json.NET Schema
  11. Wrap Up

Working with XML in C#

by Paul D. Sheriff

Feb 2, 2021 / 1h 48m

1h 48m

Start Course
Description

What are the best methods for reading and writing XML documents in C#? In this course, Working with XML in C#, you learn foundational knowledge to process XML files and use XML to enhance your business applications. First, you learn to process XML documents using LINQ to XML. Next, you discover how to write XPath queries. Next, you see how to add, edit and delete data within an XML document. XML serialization is explored to show you how to save a .NET object to an XML file, and then restore that XML as a .NET object. Finally, you explore how to cache frequently used database data as a local XML file, and to detect when server data changes so you can update your local file. When you’re finished with this course, you will have the skills and knowledge of XML needed to process XML documents in C#. Software required: Visual Studio 2017/19, .NET 4.5, .NET 5, SQL Server, C#.

Table of contents
  1. Course Overview
  2. What Exactly Is XML Anyway?
  3. LINQ to XML Makes Processing XML Documents Quick and Easy
  4. Use XPath Queries to Process XML Documents
  5. Modify Nodes and Write XML Files
  6. Store and Restore .NET Objects as XML
  7. A Design Pattern for Caching Frequently Used Data in XML

Building Secure Applications with Cryptography in .NET

by Stephen Haunts

Oct 16, 2020 / 3h 10m

3h 10m

Start Course
Description

As a software developer you have a duty to your employer to secure and protect their data. In this course, Building Secure Applications with Cryptography in .NET, you will learn how to use the .NET Base Class Libraries (.NET Framework, .NET Core, .NET 5) to protect your data to satisfy confidentiality, integrity, non-repudiation, and authentication. First, you will explore random number generation and hashing. Then, you will discover authenticated hashing and password based key derivation functions. Finally, you will see both symmetric and asymmetric encryption using AES and RSA. By the end of this course, you will know how to combine these all together to produce a hybrid encryption scheme which includes AES, RSA, HMACS, and Digital Signatures.

Table of contents
  1. Course Overview
  2. Introduction
  3. Cryptographic Random Numbers
  4. Hashing Algorithms
  5. Secure Password Storage
  6. Symmetric Encryption
  7. Asymmetric Encryption
  8. Digital Signatures
  9. Hybrid Encryption
  10. Course Summary

.NET Regular Expressions

by Alexandru Dima

Feb 13, 2020 / 1h 15m

1h 15m

Start Course
Description

Have you ever wanted to get a better understanding of how you can use and apply regular expressions in your .NET projects? Look no further! In this course, .NET Regular Expressions, you'll learn foundational knowledge to apply regex patterns to solve many of your software problems. First, you'll explore the history of regular expressions. Next, you'll discover pattern matching and string manipulation. Finally, you'll learn about how the regex engine works and how to optimize your expressions. When you're finished with this course, you'll have the skills and knowledge of .NET regular expressions needed to apply these awesome expressions to your existing software challenges.

Table of contents
  1. Course Overview
  2. Introduction to Regular Expressions
  3. Simple Operations with Regular Expressions
  4. Advanced Operations with Regular Expressions

String Manipulation in C#: Best Practices

by Steve Gordon

May 5, 2021 / 3h 23m

3h 23m

Start Course
Description

Strings are one of the most used types in any application you will build. In this course, String Manipulation in C#: Best Practices, you'll uncover everything you need to know about strings to use them effectively in your applications. First, you'll learn how to create strings to represent text data. Then, you'll explore the extensive collection of methods used to concatenate, modify, format and search strings. Finally, you'll discover advanced topics, such as how to use strings efficiently and how to apply best practices in your code. When you’re finished with this course, you’ll have the skills and knowledge required to manipulate strings and to produce high-quality software using C# and .NET.

Table of contents
  1. Course Overview
  2. The String and Char Types
  3. Comparing Strings
  4. Searching Strings
  5. Formatting Types as Strings
  6. Concatenating and Formatting Strings
  7. Efficient String Manipulation
  8. Modifying Strings
  9. Parsing Strings
  10. String Encoding in .NET

Building Configurable Applications Using .NET Generic Host

by Matt Tester

May 4, 2021 / 1h 53m

1h 53m

Start Course
Description

Applications and services need to be flexible, using different configuration settings depending on whether they are running in development or production, without having to recompile.

In this course, Building Configurable Applications Using .NET Generic Host, you’ll learn how to implement applications so they can be easily configured leveraging the .NET Class Libraries.

First, you’ll explore how the .NET Configuration API simplifies working with configuration from files and other sources.

Next, you’ll discover how to expose your configuration values throughout your applications efficiently using dependency injection.

Finally, you’ll learn some best practices on how to make your reusable code libraries configurable too.

When you’re finished with this course, you’ll have the skills and knowledge of developing with the .NET Generic Host and Configuration APIs needed to make your applications and services configurable for each target environment.

Table of contents
  1. Course Overview
  2. Understanding Configuration in .NET
  3. Exploring the Configuration API
  4. Using the .NET Generic Host
  5. Adding Application Configuration to the Host
  6. Creating a Configurable Library

Using Reflection in a C# Application: Best Practices

by Kevin Dockx

Mar 30, 2021 / 1h 49m

1h 49m

Start Course
Description

Using reflection does not have to be difficult. In this course, Using Reflection in a C# Application: Best Practices, you’ll learn how to use reflection in C#. First, you’ll explore which use cases reflection can be useful. Next, you’ll discover how to use reflection to inspect and manipulate classes and objects at runtime. Finally, you’ll learn how to apply reflection when working with generics. When you’re finished with this course, you’ll have in-depth knowledge on using reflection in C#.

Table of contents
  1. Course Overview
  2. Using Reflection for Inspecting Metadata
  3. Instantiating and Manipulating Objects
  4. Using Reflection with Generics
  5. Advanced Topics

Working with C# Generics: Best Practices

by Steve Smith

Jun 4, 2021 / 2h 40m

2h 40m

Start Course
Description

In this course, Working With C# Generics: Best Practices, you’ll learn to use generics in your own types and classes. First, you’ll explore generic interfaces and constraints. Next, you’ll discover the covariance and contravariance. Finally, you’ll learn how to use generics with events and methods. When you’re finished with this course, you’ll have the skills and knowledge of C# generics needed to level up your .NET apps with cleaner, more reusable code.

Table of contents
  1. Course Overview
  2. Working with Generic Interfaces and Constraints
  3. Understanding Covariance and Contravariance
  4. Creating Generic Classes and Methods
  5. Working with Generic Events and Delegates

.NET Diagnostics for Applications: Best Practices

by Neil Morrissey

Jul 27, 2021 / 3h 8m

3h 8m

Start Course
Description

Software doesn’t always behave as expected. When problems occur, you need to understand the behavior of the deployed system in order to diagnose and solve issues with your code and data. In this course, .NET Diagnostics for Applications: Best Practices, you’ll learn to how to instrument and trace your code, in order to create useful diagnostics. First, you’ll learn how to instrument apps using classes in System.Diagnostics, like Debug, TraceSource, and DiagnosticSource. Next, you’ll discover the various destinations for TraceListeners and Logging Providers. Finally, you’ll explore how to instrument more complex, distributed applications using the Activity class and OpenTelemetry. When you’re finished with this course, you’ll have the skills and knowledge of instrumenting and tracing needed to implement diagnostics for .NET applications.

Table of contents
  1. Course Overview
  2. Tracing and Instrumenting Applications
  3. Configuring Trace Listeners and Logging Providers
  4. Working with the Windows Event Log
  5. Tracing Distributed Applications

Globalization in C# Applications: Best Practices

by Filip Ekberg

May 6, 2021 / 2h 35m

2h 35m

Start Course
Description

Creating applications for users with different language, date, and number settings is no trivial task. In this course, Globalization in C# Applications: Best Practices, you’ll learn how to best approach globalization by exploring different scenarios and situations. First, you’ll explore the fundamentals of globalization and localization in C#. Next, you’ll discover how to handle numbers, dates, and strings for users with localization settings. Finally, you’ll learn how to work with translations to localize your application. When you’re finished with this course, you’ll have the skills and knowledge of globalization and localization needed to ship your applications to users across the globe.

Table of contents
  1. Course Overview
  2. Introducing Globalization and Localization in C#
  3. Working with Numbers
  4. Working with Dates
  5. Working with Strings
  6. Globalization and Localization in ASP.NET

Applying Asynchronous Programming in C#

by Filip Ekberg

Dec 11, 2020 / 3h 18m

3h 18m

Start Course
Description

Do you want to build fast, responsive, and overall better applications by applying asynchronous principles? You'll need to understand how to safely and effectively introduce asynchronous programming in your applications.

In this course, Applying Asynchronous Programming in C#, you’ll learn the fundamentals of asynchronous programming in C#:

  • explore how to properly apply the async and await keywords
  • discover the Task Parallel Library and understand how it relates to async and await
  • learn more about how introducing asynchronous patterns affects the application, how to avoid pitfalls, and how to best approach these patterns
When you’re finished with this course, you’ll have the skills and knowledge of asynchronous programming needed to apply this in your C# applications.

Table of contents
  1. Course Overview
  2. Getting Started with Asynchronous Programming in C# using Async and Await
  3. Using the Task Parallel Library for Asynchronous Programming
  4. Exploring Useful Methods in the Task Parallel Library
  5. Async and Await Advanced Topics and Best Practices
  6. Asynchronous Programming Deep Dive

Building Multithreaded C# Applications with the Task Parallel Library

by Filip Ekberg

Dec 22, 2020 / 1h 45m

1h 45m

Start Course
Description

Utilizing multithreaded principles is crucial for building fast processing and performant applications. In this course, Building Multithreaded C# Applications with the Task Parallel Library, you’ll learn foundational knowledge to efficiently apply the parallel programming and multithreaded principles to build fast and solid applications. First, you’ll explore fundamentals of multithreading and how it fits into your .NET applications, and how it ties together with the task parallel library. Next, you’ll discover how parallel programming is different from asynchronous programming and how to use the parallel extensions to perform fast computations, which utilizes all your available processing power. Finally, you’ll learn how to adapt in advanced scenarios, and where deeper knowledge of multithreading may be required. When you’re finished with this course, you’ll have the skills and knowledge of how to apply the parallel programming principles in any type of .NET application.

Table of contents
  1. Course Overview
  2. Getting Started with Parallel Programming and Multithreading in C#
  3. Advanced Parallel Programming: Understanding Locking, Shared Variables and Best Practices
  4. Using Parallel LINQ (PLINQ)

Dates and Times in .NET

by Filip Ekberg

Sep 14, 2020 / 1h 37m

1h 37m

Start Course
Description

Ever had issues caused by date and times with .NET within your applications? In this course, Dates and Times in .NET, you will master the art of parsing dates and times and how to handle ambiguity using common standards that usually get overlooked and cause unexpected errors. First, you will learn how to handle relative time and time periods, such as calculating the time difference between two periods. Next, you will discover how time zones impact applications, how to properly handle them, and what to consider when parsing dates which don’t include time zone information. Finally, you will explore best practices, and how to avoid problems when working with common date and time scenarios in .NET. When you are finished with this course, you will have the skills and knowledge to set up your own applications and parse complex date and time situations whether you’re on Windows, Mac, or Linux!

Table of contents
  1. Course Overview
  2. Date and Time Fundamentals
  3. Date and Time Arithmetic
  4. Solutions to Common Data/Time Scenarios in .NET
Learning Paths

.NET Class Libraries with C#

  • Number of Courses17 courses
  • Duration43 hours

This path is for the developer possessing a command of the C# language desiring to learn and properly implement the capabilities of the .NET Framework Class Libraries. It is designed as a sequential path to the C# Fundamentals path.

Join our learners and upskill
in leading technologies