The C# programming language has been implemented by Anders Hejlsberj, an employee of Microsoft. The C# programming language's initial release is in 2002 with .NET Framework 1.0, and it’s more like Java programming.
C# is the programming language, and .NET is the runtime support environment. C# has evolved much since its first release in 2002 and was introduced with .NET Framework 1.0 .
One thing you should be aware that while the C# language and the C# compiler are separate from .Net framework, they still depend on it.
The biggest problem when dealing with C#'s version numbers is the fact that it is not tied to a version of the .NET Framework , which it appears to be due to the synchronized releases between Visual Studio and the .NET Framework.
The C# language relies on types and methods in what the C# specification defines as a standard library for some of the features. The .NET platform delivers those types and methods in a number of packages.
C# is an object-oriented language. It is very simple and powerful.
In this tutorial, we will discuss the different versions and Features.
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 1.0 | Visual Studio 2002 | 1.0 | 1.0 | 2002 |
C# 1.2 | Visual Studio 2003 | 1.1 | 1.1 | 2003 |
C# 2.0 | Visual Studio 2005 | 2.0 | 2.0 | 2005 |
C# 3.0 | Visual Studio 2008 | 3.5 | 2.0 | 2007 |
C# 4.0 | Visual Studio 2010 | 4.0 | 4 | 2010 |
C# 5.0 | Visual Studio 2012 | 4.5 | 4 | 2013 |
C# 6.0 | Visual Studio 2015 | 4.6 | 4 | 2015 |
C# 7.0 | Visual Studio 2017 | 4.7 | 4 | 2017 |
C# 8.0 | Visual Studio 2019 | 4.8 | 4 | 2019 |
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 1.0 | Visual Studio 2002 | 1.0 | 1.0 | 2002 |
This version is like java. Its lack in the async capabilities and some functionalities. The major features of this release are below:
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 1.2 | Visual Studio 2003 | 1.1 | 1.1 | 2003 |
In this version, some enhancement has been done. They added for each loop in this version which will execute each block until an expression gets false. The features of this release are:
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 2.0 | Visual Studio 2005 | 2.0 | 2.0 | 2005 |
In this version, they have added below advance features:
04. C# Version 3.0
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 3.0 | Visual Studio 2008 | 3.5 | 2.0 | 2007 |
This version made C# as a formidable programming language.
05. C# Version 4.0
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 4.0 | Visual Studio 2010 | 4.0 | 4 | 2010 |
The version introduced some interesting features:
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 5.0 | Visual Studio 2012 | 4.5 | 4 | 2013 |
In this version, they added two new models for asynchronous programming.
[async and await]: With these, we easily retrieve information about the context. This is very helpful with long-running operations. In this async enables the keyword await. With the help of await keyword, all the things get asynchronous. So it runs synchronously till the keyword await.
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 6.0 | Visual Studio 2015 | 4.6 | 4 | 2015 |
This version included below functionalities:
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 7.0 | Visual Studio 2017 | 4.7 | 4 | 2017 |
This version has below advantages:
C# Versions | Visual Studio | .NET Framework | CLR version | Year |
---|---|---|---|---|
C# 8.0 | Visual Studio 2019 | 4.8 | 4 | 2019 |
This version has below advantages:
This is a guide to C# Versions. Here we discuss the basic concept, various types of C# Versions.
One thing you should be aware that the C# compilers that are part of the Visual Studio 2017 installation or earlier .NET Core SDK versions target C# 7.0 by default.