Skip to main content

Programming with C#


Programming with C#


Advanced Python
After Effects Basic-Intermediate
Angular Beginner Course
Angular Bootcamp MVC
Building a RESTful API with Laravel
Front End Web Developer
Introduction to Moodle
Introduction to Programming Using Groovy
Introduction to Programming using Python
Java Bootcamp
Java Enterprise Edition
Laravel Bootcamp
Laravel Intermediate
Laravel Introduction
Microsoft Power BI Boot Camp
Microsoft PowerBI Dashboard User Course
Perl Fundamentals
Python for Engineers and Scientists
Python Programming
Web Developer
XML Web Services


Mark Badham


C# is a modern powerful high level language. C# is the preferred programming language for the dot net framework. C# is widely used in industry to code both Web (ASP.NET) and desktop (.NET) applications.

The course is a 3 day bootcamp style course on the fundamentals of the C# language.

Delivery Methods

Leading Training is focusing on providing virtual training courses for the foreseeable future and will only consider in-person and classroom training on request, with a required minimum group size of six delegates. We remain committed to offering training that is fast, focused and effective.

Delivery Method Duration Price (excl. VAT)
Classroom 3 Days ZAR 8,250.00 Get a Quote
Live Virtual Training 3 Days ZAR 6,750.00 Get a Quote

Discounts Available

Save up to 10% by booking and paying 10 business days before the course.


Download Brochure

Information may change without notice.


Programmers and IT professionals


  • Some previous programming experience required. 
  • Our Intro to Programming or JavaScriptCourse is recommended.
  • Some SQL knowledge will also be helpful

Course Outline / Curriculum

1.    Hello World -- Your First Program


1.2. Main Method

1.3. Input and Output

1.4. Command-Line Compilation and Execution

2.    Program Structure

3.    Coding Conventions

3.1. Naming Conventions

3.2. Layout Conventions

3.3. Commenting Conventions

3.4. Language Guidelines

4.    Types and variables

5.    Expressions

6.    Main() and command-line arguments

6.1. Overview

7.    Flow Control

8.    if-else

8.1. Example

8.2. Example

8.3. Example

8.4. Switch

8.5. The match expression

8.6. The switch section

8.7. Case labels

8.8. The default case

8.9. Pattern matching with the switch statement

8.10.              The case statement and the when clause

8.11.              While Loop

8.12.              Example

8.13.              Example

8.14.              Example

8.15.              Do While Loop

8.16.              Example

8.17.              For Loop

8.18.              Example

8.19.              Foreach Loop

9.    foreach, in

9.1. Example

9.2. Break

9.3. Example

9.4. Example

9.5. Example

9.6. Continue

9.7. Example

10. Methods

10.1.              Method signatures

10.2.              Method invocation

10.3.              Passing parameters

10.4.              Optional parameters and arguments

10.5.              Return values

10.6.              Extension methods

10.7.              Async Methods

10.8.              Expression-bodied members

10.9.              Iterators

10.10.          Expression lambdas

10.11.          Statement lambdas

10.12.          Async lambdas

10.13.          Lambda expressions and tuples

10.14.          Lambdas with the standard query operators

10.15.          Type inference in lambda expressions

10.16.          Variable Scope in Lambda Expressions

11. Maths and Strings

11.1.              The Math Class

11.2.              Fields

11.3.              Methods

11.4.              The String Class

11.5.              string vs. System.String

11.6.              Declaring and Initializing Strings

11.7.              Immutability of String Objects

11.8.              Regular and Verbatim String Literals

11.9.              String Escape Sequences

11.10.          Format Strings

11.11.          Substrings

11.12.          Accessing Individual Characters

11.13.          Null Strings and Empty Strings

11.14.          Using StringBuilder for Fast String Creation

11.15.          Strings, Extension Methods and LINQ

12. Object Oriented Programming

12.1.              Classes and Objects

12.2.              Inheritance

12.3.              Interfaces

12.4.              Generics

12.5.              Delegates

13. Collections

13.1.              Using a Simple Collection

13.2.              Kinds of Collections

13.3.              Implementing a Collection of Key/Value Pairs

13.4.              Using LINQ to Access a Collection

13.5.              Sorting a Collection

13.6.              Defining a Custom Collection

13.7.              Iterators

14. Exceptions

14.1.              Catch Blocks

14.2.              Finally Blocks

14.3.              Using Statements

14.4.              Example

14.5.              Remarks

14.6.              Throwing Exceptions


Schedule Dates and Booking

There are currently no scheduled dates.

Please note that this course needs a minimum of 6 delegates to schedule a course. You can choose to be added to the waiting list by clicking the button below, and we will contact you when we have enough delegates interested. Should we not get enough delegates, we will refund or credit your paid booking.

Add me to the waiting list

Should you need this course urgently, the following options are available:

  1. Pay for 6 delegates (whether you have them or not) and we will schedule the course as soon as possible.
  2. If you have fewer delegates and cannot pay for 6, we can negotiate a shortened course where some of the time will be spent in blended learning - watching videos and doing tutorials and exercises with some contact time with the trainer. We would want to discuss what your core needs are so that we cover those aspects. You need to have paid for 3 delegates at least.
Submit Enquiry