DEV Community

Srinivas R 🇮🇳
Srinivas R 🇮🇳

Posted on

𝗛𝗶𝘀𝘁𝗼𝗿𝘆 𝗢𝗳 𝗖# 𝗟𝗮𝗻𝗴𝘂𝗮𝗴𝗲

Image description

During more than 20 years of development, we saw 11 versions of the C# language. Every version gave us some new and interesting features. Here is a brief overview of those features:

🔹 𝗖# 𝟭.𝟬 released with .NET 1.0 and VS2002 (January 2002).

🔹 𝗖# 𝟭.𝟮 released with .NET 1.1 and VS2003 (April 2003). The first version is called Dispose on IEnumerators which implemented IDisposable.

🔹 𝗖# 𝟮.𝟬 released with .NET 2.0 and VS2005 (November 2005). Major new features: generics, anonymous methods, nullable types, and iterator blocks.

🔹 𝗖# 𝟯.𝟬 released with .NET 3.5 and VS2008 (November 2007). Major new features: lambda expressions, extension methods, expression trees, anonymous types, implicit typing (var), and query expressions.

🔹 𝗖# 𝟰.𝟬 released with .NET 4 and VS2010 (April 2010). Major new features: late binding (dynamic), delegate and interface generic variance, more COM support, named arguments, tuple data type, and optional parameters.

🔹 𝗖# 𝟱.𝟬 released with .NET 4.5 and VS2012 (August 2012). Major features: async programming and caller info attributes.

🔹 𝗖# 𝟲.𝟬 released with .NET 4.6 and VS2015 (July 2015). Enabled by Roslyn. Features: initializers for automatically implemented properties, using directives to import static members, exception filters, and more.

🔹 𝗖# 𝟳.𝟬 released with .NET 4.7 and VS2017 (March 2017). Major new features: tuples, ref locals and ref return, pattern matching (including pattern-based switch statements), and more.

🔹 𝗖# 𝟳.𝟭 released with VS2017 v15.3 (August 2017). New features: async main, tuple member name inference, default expression, and pattern matching with generics.

🔹 𝗖# 𝟳.𝟮 released with VS2017 v15.5 (November 2017). New features: private protected access modifier, Span, aka interior pointer, aka stackonly struct, and everything else.

🔹 𝗖# 𝟳.𝟯 released with VS2017 v15.7 (May 2018). New features: enum, delegate, and unmanaged generic type constraints. ref reassignment.

🔹 𝗖# 𝟴.𝟬 released with .NET Core 3.0 and VS2019 v16.3 (September 2019). Major new features: nullable reference-types, asynchronous streams, indices and ranges, readonly members, and more.

🔹 𝗖# 𝟵.𝟬 released with .NET 5.0 and VS2019 v16.8 (November 2020). Major new features: init-only properties, records, with-expressions, data classes, positional records, top-level programs, and improved pattern matching.

🔹 𝗖# 𝟭𝟬.𝟬 released with .NET 6.0 (November 2021). Major new features: record structs, struct parameterless constructors, interpolated string handlers, and more.

🔹 𝗖# 𝟭𝟭.𝟬 released with .NET 7.0 (November 2022). Major new features: file-scoped types, generic math support, auto-default structs, pattern match Span on a constant string, and more.

What features do you use the most?

Top comments (0)