Introduction to C# & .NET Tutorial
In this introductory tutorial we cover C# as a language. C# is used by Stackoverflow, Handbrake, Unity Game Engine and many more.
We will learn what C# is, what it's used for, and why you should learn this powerful programming language.
Here's a table of contents of what you'll learn in this lesson:
(click on a link to skip to its section)
Let's jump right in.
What is C# and .NET
C#, or C-Sharp, is a modern, general purpose, object oriented, programming language used to create programs across multiple platforms.
- C# is a programming language
- .NET is a framework for building applications on Windows
C# was developed in 2000 at Microsoft by Anders Hejlsberg and his team during the development of the .NET Framework. C# was intended to be an alternative to Java.
.NET is not limited to C#, there are different languages that make use of the .NET framework like F# or VB.NET.
What is the .NET framework
The .NET Framework consists of two components:
- CLR (Common Language Runtime)
- Class Library for building applications
The Common Language Runtime (CLR)
When the developers at Microsoft wrote C# and the .NET Framework, they borrowed an idea from the Java community.
When you compile Java, it’s not translated directly into machine code, instead it’s translated into an intermediate language called ByteCode before being translated into machine code. This makes it independent of the computer on which it’s running.
In C# we have the exact same concept, where code is translated into IL (Intermediate Language) Code first.
Translating IL Code into native code is the job of CLR and the process is called Just-In-Time compilation (JIT). As long as a system, such as Linux, has CLR, it will be able to run your application.
Why learn C#
- C# is modern and efficient
- C# is an easy-to-learn, structured language
- C# can be compiled cross-platform
- C# is part of the .NET Framework
- C# is object and component oriented
C# has some strong programming features such as automatic garbage collection, simple multithreading, easy-to-use generics, and many more.
C# has been used to create programs like Handbrake, Paint.NET, KeePass, Stackoverflow etc. and is also used to create games with the Unity Engine.
C# and .NET is, in general, considered to be an Enterprise Level programming platform, and as such it’s usually used to create in-house programs for corporate clients.
Is C# hard to learn
Even though C# follows traditional high-level languages like C and C++, it has a strong resemblance to Java.
C# isn’t hard to learn, but it’s a complex language and may require more time to fully learn all its features.
Before we proceed, please note that we make the following assumptions:
- You know how to install software on whichever operating system you use.
- You can create and navigate directories and files on your computer.
While this tutorial series is for beginners with no knowledge of C# or programming in general, programmers coming from other languages that want to learn C# will also find it very helpful.
This tutorial series covers many topics of programming in C#, ranging from beginner concepts to advanced.
List of Tutorials
Development Environment Setup Your First C# App Namespaces Keywords & Identifiers Comments Variables & Constants Data Types Type Conversions (Casting) Operators
Conditional Control Iteration Control
Functions Arrays ArrayList Collections HashTable Collections SortedList Collections Strings Enums
OOP - Structs OOP - Classes & Objects OOP - Encapsulation OOP - Inheritance OOP - Composition OOP - Polymorphism Stack vs Heap Object Type Dynamic Type Interfaces
Generics List Collections Dictionary Collections Tuples ValueTuple Nullable Type
Delegates & Events