In this post, we would be talking about a c# version history i.e list of C# new features along with their version from C#1.0 to C#10.
If you are looking for an in-depth article for each and every feature with respect to the version it was released with, then you may stop here and skip this post.
Topics Covered
Introduction
C#(Pronounced as CSharp) is an object-oriented programming language designed by Anders Hejlsberg and developed by Microsoft in the year 2000. It has been now 20+ years since its inception.
C# Version History
We have mentioned the features of the C# language and demonstrated the evolution of C# from version C#1.0 to C#10 (the current version at the time of writing this post).
C# 1.0
Microsoft released the first version of C# with Visual Studio 2002. The use of Managed Code was introduced with this version. C# 1.0 was the first language that the developer adopted to build .NET applications.
The major features of C# 1.0 include:
- Classes
- Structs
- Interfaces
- Events
- Properties
- Delegates
C# 2.0
Microsoft released the second version of C# language with Visual Studio 2005. C# 2.0 has introduced a few new features in this edition which helped the developers to code their applications in a more generic way.
Here are the new features that were introduced with C# 2.0:
- Partial Class
- Generics
- Static Classes
- Nullable Types
- Co-variance and Contravariance
C# 3.0
Visual Studio 2008 came with C# version 3.0 and it has a bunch of new features. It was the life-changing language for Microsoft platform developers to build their applications. Till now, many developers are still using this version to build their apps. The new features that came with C# 3.0 were:
- Lambda Expression
- Extension Methods
- Expression Trees
- Anonymous Types
- LINQ
- Implicit Type (var)
C# 4.0
Though C# 4.0 was released with Visual Studio 2010 with .NET Framework 4, very few developers use its new features. Here is a list of new features of C# that came with this version:
- Late Binding
- Named Arguments
- Optional Parameters
- More COM Support
- Dynamic Keyword
C# 5.0
Visual Studio 2012 came up with C# 5.0 and it was made available to the audience in the year 2012. In C# version 5.0, there are two key features:
- Async Programming
- Caller Information
C# 6.0
The C# 6.0 release contained many features that improve productivity for developers. Some of the features in this release were:
- Read-only Auto-properties
- String Interpolation
- await in catch and finally blocks
- index initializers
- Null- conditional operators
C# 7.0
With Visual Studio 2017 (March 7 – 2017) we got a new version of C# – C# 7.0. There is a lot of new exciting features that nicely build on top of existing ones.
- Out variables
- Pattern matching
- Tuples
- Deconstruction
- Discards
- Local Functions
- Binary Literals
- Digit Separators
- Ref returns and locals
- Generalized async return types
- More expression-bodied members
- Throw expressions
C# 8.0
C# 8.0 adds the following features and enhancements to the C# language:
- Readonly members
- Default interface methods
- Pattern matching enhancements
- Using declarations
- Nullable reference types
- Asynchronous stream
C# 9.0
C#9 is the new version getting ready to be made available. Mads Torgersen, C# Lead Designer from .NET Team has shared some of the major features being added to C#9:
- Init-only properties
- Init accessors & read-only fields
- Records With-expressions
- Value-based equality
- Data members
- Positional records
- Records and mutation
- Top-level programs
- Improved pattern matching
C# 10
C# 10.0 is supported on .NET 6. In C#10, the following features & enhancements are being added to the C# language:
- Global usings
- Null parameter checking
- File-scoped namespaces
- Record structs
- Extended property patterns
At the time of updating this blog post, C#10 is the latest available version, you can refer to Language Feature Status on the Roslyn (C#/VB Compiler) GitHub repo.
To know these features in detail follow our post on C# 10 features.
C# Version History Table
The table below highlights the evolution of the C# Language from the year 2000 to date.
Version | .NET Framework | Visual Studio | Important Features |
---|---|---|---|
C# 1.0 | .NET Framework 1.0/1.1 | Visual Studio .NET 2002 |
|
C# 2.0 | .NET Framework 2.0 | Visual Studio 2005 |
|
C# 3.0 | .NET Framework 3.0\3.5 | Visual Studio 2008 |
|
C# 4.0 | .NET Framework 4.0 | Visual Studio 2010 |
|
C# 5.0 | .NET Framework 4.5 | Visual Studio 2012/2013 |
|
C# 6.0 | .NET Framework 4.6 | Visual Studio 2013/2015 |
|
C# 7.0 | .NET Core 2.0 | Visual Studio 2017 |
|
C# 8.0 | .NET Core 3.0 | Visual Studio 2019 |
|
C#9.0 | .NET Core 3.1 | Visual Studio 2019 |
|
C#10 | .NET6 | Visual Studio 2019 |
|
We have also written a dedicated post on New Features of C#8
That’s all as per this post is concerned. We will update this list as soon as the new version is out in the market.
Reference: Microsoft Docs
If you like to read about C# interview questions, check our post below:
C# Mastery – Mosh Hamedani
One of the best courses to master your C# skills right from level zero. This series is divided into 4 sections:
- C# Basics
- C# Intermediate
- C# Advanced
- Unit Testing for C# Developers
We hope that you like the summary post on C# Version History and now know How C# evolved from version 1.0 through 9.0?
What do you think?
Dear Readers,
If you have any questions or suggestions please feel free to email us or put your thoughts as comments below. We would love to hear from you. If you found this post on C# Version History useful then please share it along with your friends and help them to learn.
Happy Coding!
Pingback: 6 Effective Side Income Ideas for Programmers in 2020 - DotNetCrunch
Pingback: Difference Between Var and Dynamic Keywords in C# - DotNetCrunch
Pingback: Top Quick-start 25 C# Interview Questions for Beginners - DotNetCrunch
Pingback: Exciting New features of C# 8, You Must Know - DotNetCrunch
Pingback: C# 10 Features: 10 New Features Of C# 10 - DotNetCrunch
Pingback: What is the purpose of ?? Null Coalescing Operator in C#? - DotNetCrunch
Pingback: A Quick Overview On Software Design Patterns - DotNetCrunch
Pingback: C#11 New Features - C#11 Preview - DotNetCrunch
Pingback: Complete Guide to Start a Programming Blog in 2023 - DotNetCrunch