✔ C# Tutorial
✔ C# Basic
✔ C# Control Statement
✔ C# Function
✔ C# Arrays
✔ C# Object Class
✔ C# Properties
✔ C# Inheritance
✔ C# Polymorphism
✔ C# Abstraction
✔ C# Namespace
✔ C# Exception Handling
✔ C# Collections
✔ C# Misc
History of C#
C# was developed by Microsoft in the late 1990s and early 2000s, under the leadership of Anders Hejlsberg, who is known as the father of C#. C# was influenced by several languages, such as C, C++, Java, Delphi, etc. C# was first released in 2002, along with the .NET Framework 1.0. Since then, C# has evolved through several versions, each introducing new features and enhancements.
The following table shows the history of C# versions and their features:
Version | Year | Features |
C# 1.0 | 2002 | Basic features, such as classes, structs, interfaces, delegates, events, enums, arrays, collections, exceptions, attributes, etc. |
C# 2.0 | 2005 | Generics, partial classes, anonymous methods, nullable types, iterator blocks, static classes, etc. |
C# 3.0 | 2007 | Implicitly typed variables, object and collection initializers, anonymous types, lambda expressions, extension methods, query expressions, expression trees, etc. |
C# 4.0 | 2010 | Dynamic binding, named and optional parameters, generic variance, COM interop improvements, etc. |
C# 5.0 | 2012 | Asynchronous programming, caller information attributes, etc. |
C# 6.0 | 2015 | String interpolation, null-conditional operators, expression-bodied members, auto-property initializers, nameof operator, exception filters, etc. |
C# 7.0 | 2017 | Out variables, pattern matching, tuples, deconstruction, local functions, ref returns and locals, etc. |
C# 7.1 | 2017 | Async main, default literal expressions, inferred tuple element names, etc. |
C# 7.2 | 2017 | Readonly structs, ref structs, in parameters, ref readonly returns, private protected access modifier, etc. |
C# 7.3 | 2018 | Enum constraints, delegate constraints, unmanaged constraints, fixed pattern, stackalloc initializers, etc. |
C# 8.0 | 2019 | Nullable reference types, async streams, ranges and indices, pattern matching enhancements, default interface methods, using declarations, static local functions, etc. |
C# 9.0 | 2020 | Record types, init-only properties, top-level statements, pattern matching enhancements, target-typed new expressions, covariant return types, etc. |
C# 10.0 | 2021 | Record structs, global using directives, file-scoped namespaces, extended property patterns, constant interpolated strings, etc. |