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#
- Classes and Structs
- Advanced C#
- Namespaces and Assemblies
- XML Comment
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.
Free access is granted to this C# course after registering with your email.
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.
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.
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.
A great interactive site for learning C# programming, optimized for learning and training.
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”.
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.
- 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#
- Building a complete COM+ Server component using C# and .NET
- Building a COM+ Client using C# and .NET
- COM Client using Visual Basic ver 6.0
- Managed C++ Client using Early Binding
- Managed C++ Client using Late Binding
- Building a Distributed Component Server using C# and .NET
- Building a Distributed Component Client using C# and .NET
- Retrieving Database Metadata using C# and .NET
- Building a Web Service Component using C# and .NET
- Building a Web Service Client using C# and .NET
- Accessing a .NET Web Service using Apache/SOAP and Java
- Channels and .NET Remoting
- What is Microsoft Object Spaces (OS)
- Developing a complete Banking Application with MS ObjectSpaces
- C# Reflection and Dynamic Method Invocation (Beta 1)
- Asynchronous Message Queuing using .NET & COM+ (Beta 1)
- Making HTTP GET and POST requests on Web Pages using C#, ASP+ and the .NET Framework (Beta 1)
Attributes and Reflection – free 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.