Welcome to ONLC Training Centers

C# Programming Level 2: Advanced Programming Techniques

Class Dates
(click date for class times)
(click Enroll for locations)

Fee:  $995

Savings options:

 Learning Credits
Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Need a class for a group?

We can deliver this class for your group. Follow the link to request more information.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Train from your home or office

If you have high-speed internet and a computer you can likely take this class from your home or office.

C# Programming Level 2: Advanced Programming Techniques Course Outline

In this C# training course, students already familiar with C# programming will learn advanced C# techniques.

This advanced C# course is taught using C# 8.

Students should have experience with C# and working knowledge of the skills covered in Core Skills: Level 1. Specifically, you should know: how C# works and its place in the world of programming languages; its relationship with the Common Language Infrastructure and .NET Framework; C# data types and operators; how to write selection statements and loops; generic programming and working with collections; tools for processing data with C#; and error handling.

For more information on the Level 1 course, go to:
C# Programming Level 1: Introduction for Programmers

Course Outline

1 Advanced Topics
Delegates and events
Anonymous types
The Tuple class
Value tuples
Pattern matching
The is expression
The switch expression
Regular expressions
Matching input text
Finding substrings
Replacing parts of a text
Extension methods

2 Resource Management
Garbage collection
The IDisposable interface
The using statement
Platform invoke
Unsafe code

3 Lambdas, LINQ, and Functional Programming
Functional programming
Functions as first-class citizens
Lambda expressions
Standard query operators
Query syntax
More functional programming concepts
Partial function application
Test what you learned

4 Reflection and Dynamic Programming
Understanding reflection
Dynamically loading assemblies
Understanding late binding
Using the dynamic type
System attributes
User-defined attributes
How to use attributes?
Attribute targets
Assembly attributes
Attributes in reflection

5 Multithreading and Asynchronous Programming
What is a thread?
Creating threads in .NET
Using the ThreadPool class
Understanding synchronization primitives
The task paradigm
Synchronous implementations of asynchronous methods
Occasionally asynchronous methods
Breaking the task chain blocking the thread
Manually creating a task
Long-running tasks
Breaking the task chain fire and forget
Task and exceptions
Canceling a task
Monitoring the progress of a task
Parallelizing tasks
Signaling tasks with the TaskCompletionSource object
Synchronization context

6 C# in Action with .NET Core 6
Using the .NET command-line interface (CLI)
Developing on Linux distributions
Preparing the development box
Writing cross-platform aware code
What .NET Standard is and how can it help the application design
Creating a .NET Standard library
Consuming NuGet packages
Adding packages to a project
Migrating from .NET Framework to .NET Core
Analyzing your architecture
Preparing the migration process
Migrating the libraries
Migrating the tests
Migrating the desktop projects
Migrating ASP.NET project
Summing up the migration steps
Publishing an application
Publishing as an FDD
Publishing as an SCD
Understanding other publishing options

7 Unit Testing
What is unit testing?
What are Microsoft tools for unit testing?
Creating a C# unit testing project
Writing unit tests
Analyzing code coverage
The anatomy of a test
Writing data-driven unit tests
Data from attributes
Dynamic data
Data from external sources

View outline in Word


Attend hands-on, instructor-led C# Programming Level 2: Advanced Programming Techniques training classes at ONLC's more than 300 locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of Courses and select the one that's right for you.


Class Format
Class Policies
Student Reviews

First Name

Last Name