c# version history dotnetcrunch

C# Version History: Detailed List of C# Features From Version 1 to 10

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.

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

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:

  1. Classes
  2. Structs
  3. Interfaces
  4. Events
  5. Properties
  6. 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:

  1. Partial Class
  2. Generics
  3. Static Classes
  4. Nullable Types
  5. 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:

  1. Lambda Expression

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:

  1. Late Binding
  2. 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:

  1. Async Programming

C# 6.0

The C# 6.0 release contained many features that improve productivity for developers. Some of the features in this release were:

  1. Read-only Auto-properties

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:

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

C# Version History Table

The table below highlights the evolution of the C# Language from the year 2000 to date.

Version Important Features
C# 1.0
  • Basic features
C# 2.0
  • Generics
  • Partial types
  • Anonymous methods
  • Iterators
  • Nullable types
  • Private setters (properties)
  • Method group conversions (delegates)
  • Covariance and Contra-variance
  • Static classes
C# 3.0
  • Implicitly typed local variables
  • Object and collection initializers
  • Auto-Implemented properties
  • Anonymous types
  • Extension methods
  • Query expressions
  • Lambda expressions
  • Expression trees
  • Partial Methods
C# 4.0
  • Dynamic binding (late binding)
  • Named and optional arguments
  • Generic co- and contravariance
  • Embedded interop types
C# 5.0
  • Async features
  • Caller information
C# 6.0
  • Expression Bodied Methods
  • Auto-property initializer
  • nameof Expression
  • Primary constructor
  • Await in catch block
  • Exception Filter
  • String Interpolation
C# 7.0
  • out variables
  • Tuples
  • Discards
  • Pattern Matching
  • Local functions
  • Generalized async return types
  • more…
C# 8.0
  • Readonly members
  • Default interface methods
  • Using declarations
  • Static local functions
  • Disposable ref structs
  • Nullable reference types
  • more…
C#9.0 .NET Core 3.1 Visual Studio 2019
  • 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 .NET6 Visual Studio 2019
  • Global usings
  • Null parameter checking
  • File-scoped namespaces
  • Record structs
  • Extended property patterns

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:

CSharp Interview Questions for Beginners 2021 

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:

  1. C# Basics
  2. C# Intermediate
  3. C# Advanced
  4. Unit Testing for C# Developers

csharp mastery course mosh

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!

Share with your friends:

9 thoughts on “C# Version History: Detailed List of C# Features From Version 1 to 10”

  1. Pingback: 6 Effective Side Income Ideas for Programmers in 2020 - DotNetCrunch

  2. Pingback: Difference Between Var and Dynamic Keywords in C# - DotNetCrunch

  3. Pingback: Top Quick-start 25 C# Interview Questions for Beginners - DotNetCrunch

  4. Pingback: Exciting New features of C# 8, You Must Know - DotNetCrunch

  5. Pingback: C# 10 Features: 10 New Features Of C# 10 - DotNetCrunch

  6. Pingback: What is the purpose of ?? Null Coalescing Operator in C#? - DotNetCrunch

  7. Pingback: A Quick Overview On Software Design Patterns - DotNetCrunch

  8. Pingback: C#11 New Features - C#11 Preview - DotNetCrunch

  9. Pingback: Complete Guide to Start a Programming Blog in 2023 - DotNetCrunch

Leave a Comment

Your email address will not be published. Required fields are marked *