Discover Classes. Earn 10% Rewards.

C# Programming Level 2: Advanced Programming Techniques

Master advanced C# techniques with C# Programming Level 2: Advanced Programming Techniques. Delve into delegates, events, anonymous types, tuples, pattern matching, regular expressions, extension methods, resource management, reflection, dynamic programming, multithreading, asynchronous programming, C# in action with .NET Core 3, unit testing, and more.

  • All levels
  • 18 and older
  • $995
  • Earn 10% Rewards
  • Price Lock
  • Online Classroom
  • 13 hours & 30 minutes over 2 sessions
C# Programming Level 2: Advanced Programming Techniques

Start Dates (5)

  • $995
  • 13 hours & 30 minutes over 2 sessions
2 seats left
Show all 2 sessions
  • Thu, Jun 13 at 10:00am - 4:45pm
  • Fri, Jun 14 at 10:00am - 4:45pm
2 seats left
Show all 2 sessions
  • Thu, Jul 18 at 10:00am - 4:45pm
  • Fri, Jul 19 at 10:00am - 4:45pm
2 seats left
Show all 2 sessions
  • Thu, Aug 15 at 10:00am - 4:45pm
  • Fri, Aug 16 at 10:00am - 4:45pm
2 seats left
Show all 2 sessions
  • Thu, Sep 12 at 10:00am - 4:45pm
  • Fri, Sep 13 at 10:00am - 4:45pm
2 seats left
Show all 2 sessions
  • Thu, Oct 10 at 10:00am - 4:45pm
  • Fri, Oct 11 at 10:00am - 4:45pm
Showing 15 of 5

Class Description


What you'll learn in this c# training:

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.
Course Outline

Advanced Topics

  • Delegates and events
  • Delegates
  • Events
  • Anonymous types
  • Tuples
  • The Tuple class
  • Value tuples
  • Pattern matching
  • The is expression
  • The switch expression
  • Regular expressions
  • Overview
  • Matching input text
  • Finding substrings
  • Replacing parts of a text
  • Extension methods
Resource Management

  • Garbage collection
  • Finalizers
  • The IDisposable interface
  • The using statement
  • Platform invoke
  • Unsafe code
Lambdas, LINQ, and Functional Programming

  • Functional programming
  • Functions as first-class citizens
  • Lambda expressions
  • LINQ
  • Standard query operators
  • Query syntax
  • More functional programming concepts
  • Partial function application
  • Currying
  • Closures
  • Monoids
  • Monads
  • Summary
  • Test what you learned
Reflection and Dynamic Programming

  • Understanding reflection
  • Dynamically loading assemblies
  • Understanding late binding
  • Using the dynamic type
  • Attributes
  • System attributes
  • User-defined attributes
  • How to use attributes?
  • Attribute targets
  • Assembly attributes
  • Attributes in reflection
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
C# in Action with .NET Core 3

  • 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
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

Remote Learning

This course is available for "remote" learning and will be available to anyone with access to an internet device with a microphone (this includes most models of computers, tablets). Classes will take place with a "Live" instructor at the date/times listed below.

Upon registration, the instructor will send along additional information about how to log-on and participate in the class.

Refund Policy

Cancellation / Reschedule by Student

Because we must schedule rooms, ship course materials, assign instructors and provision computer resources well in advance, it is important students alert us ASAP with any cancel/reschedule requests.

Please note the following policies:

  • If requested 16 or more calendar days before the class
    • Cancellation requests made in this timeframe are eligible for refund less 5% cancellation fee.
    • Reschedule requests made in this timeframe will be accommodated if availability exists and will be processed at no additional charge.
  • If requested 15 calendar days or less before the class
    • Cancellation or Reschedule requests made by the student 15 calendar days or less before the class starts will be charged 100% the course fee and are not entitled to a refund.


  • If you are unable to attend your class, a substitute who meets the course prerequisites may attend in your place at no additional charge for the original class title, date and location. If you cannot find a substitute, you will be subject to the class cancellation policy.

Make-up Policy

Students are permitted one (1) Make-Up opportunity to attend an instructor-led class that was paid for but not previously attended for no additional charge.

  • Make-Up class registrations are subject to availability and are not entitled to refund.
  • Students may not reschedule a Make-up class registration.
  • Any no shows or cancellations forfeit their one Make-up opportunity.

Additionally, ONLC reserves the right to retire courses due to lack of demand. Retired classes are not available for Make-Up.

In the event that an instructor or the school needs to cancel at the last minute, students will receive a refund less a 5% non-refundable registration fee.

In any event where a customer wants to cancel their enrollment and is eligible for a full refund, a 5% processing fee will be deducted from the refund amount.

Reviews of Classes at ONLC Training Centers (7)

Benefits of Booking Through CourseHorse

  • Booking is safe. When you book with us your details are protected by a secure connection.
  • Lowest price guaranteed. Classes on CourseHorse are never marked up.
  • This class will earn you 9950 points. Earn 10% back in reward points!

Questions & Answers (0)

Get quick answers from CourseHorse and past students.

Similar Classes

ONLC Training Centers

ONLC Training Centers was founded in 1983 when Jim Palic and Andy Williamson left their positions as mainframe programmers with the Dupont Company to start one of the industry's first computer training companies.

Over thirty years and still growing, ONLC Training Centers is one of the the largest privately...

Read more about ONLC Training Centers

CourseHorse Approved

This school has been carefully vetted by CourseHorse and is a verified Online educator.

ONLC Training Centers

Give This Course as a Gift Card

  • Thousands of classes
  • No expiration
  • Unique and memorable gifts for any occasion
  • Personalized
  • Explore a passion, gain a new skill, discover a new hobby, engage in a memorable experience
  • Instant delivery
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™

Buy a Gift Card

Book this Class as a Group Event

Booking this class for a group? Find great private group events

Or see all Coding Group Events

Explore group events and team building activities ranging from cooking, art, escape rooms, trivia, and more.

  • Price Lock Guarantee

    Secure your booking now and we'll match any price drop within 48 hours across all booking platforms, ensuring you never miss out on savings!

  • Earn 10% Reward Points

    Maximize your savings with every purchase. Unlock rewards on every transaction, ensuring you get the most value out of your experience!

  • No Added Fees

    Enjoy hassle-free transactions without worrying about additional charges. With us, what you see is what you pay - no surprises!

  • Curated Courses

    Discover a curated selection of courses handpicked by experts in the field. Dive into quality content that suits your learning needs and interests!

CourseHorse Gift Cards

  • Creative & unique gift for any occasion
  • Thousands of classes & experiences
  • No expiration date
  • Instant e-delivery (or choose a date)
  • Add a personalized message
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™
Buy a Gift Card
gift card with the CourseHorse logo gift card with the CourseHorse logo