Modern, typed, productive

C#

C# is a statically typed, object-oriented language that runs on .NET. It powers web services written with ASP.NET Core, desktop and mobile applications, and games built in Unity, and its compiler catches many mistakes before a program runs. This curriculum starts with the beginner path (a first program, types, conditions and loops, methods, arrays and lists), moves through the intermediate path (classes, inheritance and interfaces, exceptions) and ends with the advanced path (LINQ and async). Every example targets .NET 8 and every program shown on the site has been compiled and run.

ModerateExamples verified with .NET SDK 8.0
lessons
3 lessons
exercises
13 exercises
interview questions
13 interview questions

What C# is used for

  • .NET web services
  • Desktop apps
  • Unity games
  • Enterprise software

How examples are checked

Every example and every exercise solution was run with .NET SDK 8.0 at build time. In-browser execution for C# is not available yet; the pages say so rather than pretending.

Learn

The C# learning path

Read in order: each lesson leans only on the ones before it. Every lesson ends with a small program to write and links to matching exercises.

See the full curriculum with descriptions →

Practice

Practise C#

13 exercises across 9 topics, each checked by running your program against test cases. Start with these:

All C# exercises

More

Go further