Free C# (C Sharp) Training Materials

Although C# is derived from the C programming language, it has features such as garbage collection that allow beginners to become proficient in C# more quickly than in C or C++. Similar to Java, it is object-oriented, comes with an extensive class library, and supports exception handling, multiple types of polymorphism, and separation of interfaces from implementations. Those features, combined with its powerful development tools, multi-platform support, and generics, make C# a good choice for many types of software development projects: rapid application development projects, projects implemented by individuals or large or small teams, Internet applications, and projects with strict reliability requirements. Testing frameworks such as NUnit make C# amenable to test-driven development and thus a good language for use with Extreme Programming (XP). Its strong typing helps to prevent many programming errors that are common in weakly typed languages.

Here are the best C# training materials and tutorials available today, all have been reviewed and curated.

C Sharp Programming Book (pdf, 226 pages, 952kb)

This book will teach you how to code using the C# programming language from the ground up. A large part of the power of C# (as with other .NET languages), comes with the common .NET Framework API, which provides a large set of classes, including ones for encryption, TCP/IP socket programming, and graphics. Developers can thus write part of an application in C# and another part in another .NET language (e.g. VB .NET), keeping the tools, library, and object-oriented development model while only having to learn the new language syntax.

Introduction to C# (pdf, 65 pages, 444kb)

  • Introduction to C#
  1. Overview
  2. Types
  3. Expressions
  4. Declarations
  5. Statements
  6. Classes and Structs
  • Advanced C#
  1. Inheritance
  2. Interfaces
  3. Delegates
  4. Exceptions
  5. Namespaces and Assemblies
  6. Attributes
  7. Threads
  8. XML Comment

C# Tutorial for Beginners: Learn C Sharp Programming in 7 Days

C# (C Sharp) is one of the most popular programming languages which is widely used for building Windows applications, mobile applications, and games. This course is taught in a practical GOAL oriented way to learn C# programming. It is recommended for you to practice the code assignments given after each C Sharp tutorial to learn C Sharp fast and easily.

C# Tutorial

Free access is granted to this C# course after registering with your email.

Introduction to C# from

These lessons start with interactive code that you can run in your browser. You can learn the basics of C# from the C# 101 video series before starting these interactive lessons. The first lessons explain C# concepts using small snippets of code. You’ll learn the basics of C# syntax and how to work with data types like strings, numbers, and booleans. It’s all interactive, and you’ll be writing and running code within minutes. These first lessons assume no prior knowledge of programming or the C# language.

Programming C# for Beginners

In this book, you learn how to write and compile C# programs, understand C# syntaxes, data types, control flow, classes and their members, interfaces, arrays, and exception handling. After completing this tutorial, you should have a clear understanding of the purpose of C# language, it’s usages, and how to write C# programs. Free registration is required.

C# Tutorial For Beginners

This C# tutorial is for students and beginners who want to learn C# programming. Basic requirement to learn C# is basic understanding of programming and some general concepts of object oriented programming. If you’re new to OOP, I recommed learning basics of OOP here, Introduction to Object Oriented Programming.

C# Tutorial from

A great interactive site for learning C# programming, optimized for learning and training. 

Learn C# from

Many free courses, tutorials, videos, and more about learning the programming language C#

Object-oriented Programming in C# for C and Java programmers (pdf, 485 pages, 2.9mb)

This is a teaching material about object-oriented programming, illustrated with use of the programming language C#. It is assumed, as a prerequisite, that the readers have some knowledge about imperative programming, preferably knowledge about C. I believe that it is best to learn object-oriented programming after having learned and worked with imperative programming. Thus, we adhere to an “object later approach”.

C# Tutorial from

 In this tutorial, we will learn C# programming from basics like decision making, operators, variables, loops. And proceed with Object Oriented Programming Concepts, File handling operations, String Operations, Collections, Multi-threading, etc.

C# Programming Tutorial by Dick Baldwin

  • 100   Learning C# and OOP: Getting Started, Objects and Encapsulation
  • 104   Learning C# and OOP, Classes
  • 106a Learning C# and OOP, Properties, Part 1
  • 106b Learning C# and OOP, Properties, Part 2
  • 108a Learning C# and OOP, Indexers, Part 1
  • 108b Learning C# and OOP, Indexers, Part 2
  • 110   Learning C# and OOP, Indexers, Part 2
  • 112   Learning C# and OOP, Polymorphism Based on Overloaded Methods
  • 116   Learning C# and OOP, Polymorphism, Type Conversion, Casting, etc.
  • 120   Learning C# and OOP, Runtime Polymorphism through Inheritance
  • 124   Learning C# and OOP, Polymorphism and the Object Class
  • 128a Learning C# and OOP, Polymorphism and Interfaces, Part 1
  • 128b Learning C# and OOP, Polymorphism and Interfaces, Part 2
  • 128c Learning C# and OOP, Polymorphism and Interfaces, Part 3
  • 2100 Understanding Properties in Java and C#

The Advanced C#/.NET Tutorial

Attributes and Reflectionfree chapter from Programming C# By Jesse Liberty – A .NET application contains code, data, and metadata. Metadata is information about the data–that is, information about the types, code, assembly, and so forth–that is stored along with your program. This chapter will explore how some of that metadata is created and used.

Top Ten Traps in C# for C++ Programmers –  A compiled list of the syntax differences that do exist between C++ and C#. Most of the syntactic changes are small and nearly trivial. There are a few changes that are potential traps for the unwary C++ programmer, however, and this article will focus on the ten most dangerous.