C# Version History
Below you can see how C# has evolved over time:
For more information you can visit : Microsoft documentation - C# version history
C# Version | .NET Framework | Visual Studio | Important Features |
1.0
|
.NET 1.0
|
VS 2002
|
Basic features:
· Classes,
· Structs,
· Interface,
· Events,
· Properties,
· Delegates,
· Expressions,
· Statements,
· Attributes
· Literals
|
1.2
|
.NET 1.0
|
VS 2003
|
It contained a few small enhancements to the language. Most notable is that starting with this version, the code generated in a foreach loop called Dispose on an IEnumerator when that IEnumerator implemented IDisposable.
|
2.0
|
.NET 2.0
|
VS 2005
|
· Generics,
· Partial Types,
· Anonymous methods,
· Nullable types,
· Iterators,
· Covariance and Contravariance.
Other C# 2.0 features added capabilities to existing features:
· Getter/setter separate accessibility
· Method group conversions (delegates)
· Static classes
· Delegate inference
|
3.0
|
.NET 3.0/3.5
|
VS 2008
|
This version marked a major change in the growth of C#. Let’s take a look at some major features.
· Auto implemented properties
· Anonymous types
· Query expression
· Lambda expression (LINQ)
· Expression Trees
· Extension Methods
· Implicitly typed local variables
· Partial Methods
· Object and collection initializers
|
4.0
|
.NET 4.0
|
VS 2010
|
This version had a difficult time living up to the ground-breaking status of version 3.0. But this version did introduce some interesting new features:
· Dynamic Binding
· Named/optional arguments
· Generic covariant and contravariant
· Embedded interop types
Embedded interop types alleviated a deployment pain. Generic covariance and contravariance give you more power to use generics, but they're a bit academic and probably most appreciated by framework and library authors.
The major feature was the introduction of the dynamic keyword.
|
5.0
|
.NET 4.5
|
VS 2012/2013
|
Here is the major features list:
· Asynchronous members
· Caller info attributes
async and await are the real stars of this release.
|
6.0
|
.NET 4.6
|
VS 2013/2015
|
This release added many smaller features that made C# programming more productive.
· Static imports
· Exception filters
· Property initializers
· Expression bodied members
· Null propagator
· String interpolation
· nameof operator
· Index initializers
Other new features include:
· Await in catch/finally blocks
· Default values for getter-only properties
|
7.0
|
.NET
|
VS 2017
|
The most recent major version is C# version 7.0. This version has some evolutionary and cool stuff in the vein of C# 6.0, but without the compiler as a service. Here are some of the new features:
· Out variables
· Tuples and deconstruction
· Pattern matching
· Local functions
· Expanded expression bodied members
· Ref locals and returns
Other features included:
· Discards
· Binary Literals
· Digit Separators
· Ref returns and locals
· Throw expressions
C# is being put to ever broader use. .NET Core now targets any operating system and has its eyes firmly on the cloud and on portability.
|
Comments
Post a Comment