SlideShare a Scribd company logo
Le Bracket Show,
encapsuler le savoir
{ }Histoire de C#
History of C# - Timeline
2002
2003
2005
2008
2010
2012
2015
2017
2018
2019
C# 1.0
C# 1.1
C# 2.0
C# 3.0 C# 5.0
C# 6.0 C# 7.3C# 4.0
C# 7.0
C# 7.1
C# 7.2 C# 8.0
History of C# – Version 1.0 & 1.2 – The
beginning
• Classes
• Structs
• Interfaces
• Events
• Properties
• Delegates
• Expressions
• Statements
• Attributes
• Literals
• Generics
• Partial types
• Anonymous methods
• Nullable types
• Iterators
• Covariance and contravariance
History of C# – Version 2.0 – Generics
• Auto-implemented properties
• Anonymous types
• Query expressions
• Lambda expressions
• Expression trees
• Extension methods
• Implicitly typed local variables
• Partial methods
• Object and collection initializers
History of C# – Version 3.0 – LinQ
History of C# – Version 4.0 – Dynamic
• Dynamic binding
• Named/optional arguments
• Generic covariant and contravariant
• Embedded interop types
History of C# – Version 5.0 – Async
• Asynchronous members
• Caller info attributes
History of C# – Version 6.0 – More
productive
• Static imports
• Exception filters
• Auto-property initializers
• Expression bodied members
• Null propagator
• String interpolation
• nameof operator
• Index initializers
History of C# – Version 7.0 – Pattern
matching
• Out variables
• Tuples and deconstruction
• Pattern matching
• Local functions
• Expanded expression bodied members
• Ref locals and returns
• Discards
• Binary Literals and Digit Separators
• Throw expressions
History of C# – Version 7.1 – More Pattern
• async Main method
• default literal expressions
• Inferred tuple element names
• Pattern matching on generic type parameters
History of C# – Version 7.2 – Efficient
value types
• Techniques for writing safe efficient code
• Non-trailing named arguments
• Leading underscores in numeric literals
• private protected access modifier
• Conditional ref expressions
History of C# – Version 7.3
Performance for safe code
• Indexing fixed fields does not
require pinning
• ref local variables may be
reassigned
• stackalloc arrays support
initializers
• More types support the fixed
statement
• Enhanced generic constraints
Enhancement
• Tuples support == and !=
• Attach attributes to the backing
fields for auto-implemented
properties
• in method overload resolution
tiebreaker
• Extend expression variables in
initializers
• Improved overload candidates
History of C# – Version 8.0 – More
features
• Readonly Members
• Default interface members
• Nullable reference types
• Asynchronous streams
• Indices and ranges
• Pattern matching enhancements:
• Switch expressions
• Property patterns
• Tuple patterns
• Positional patterns
• Using declarations
• Static local functions
• Disposable ref structs
• Null-coalescing assignment
• Unmanaged constructed types
• Stackalloc in nested expressions
• Enhancement of interpolated
verbatim strings
Le Bracket Show,
encapsuler le savoir

More Related Content

Similar to Bracket Show Episode 35 - histoire de c# de 2002 à 2019

Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#
IndyMobileNetDev
 
Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#
Dave Fancher
 
C, C++ & Data Structures course training institute ameerpet hyderabad
C, C++ & Data Structures course training institute ameerpet hyderabadC, C++ & Data Structures course training institute ameerpet hyderabad
C, C++ & Data Structures course training institute ameerpet hyderabad
Sathya Technologies
 
C# Basics
C# BasicsC# Basics
C Programming for ARM.pptx
C Programming for ARM.pptxC Programming for ARM.pptx
C Programming for ARM.pptx
Pratik Gohel
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
akhilsreyas
 
Deep Dive C# 8.0
Deep Dive C# 8.0Deep Dive C# 8.0
Deep Dive C# 8.0
Sabah Shariq
 
2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)
Shoaib Ghachi
 
Dot Net Online training in uk and usa
Dot Net Online training in uk and usaDot Net Online training in uk and usa
Dot Net Online training in uk and usa
almaandrea
 
Dotnet Online Training
Dotnet Online TrainingDotnet Online Training
Dotnet Online Training
Summa Mcclane
 
Programming In Csharp
Programming In CsharpProgramming In Csharp
Programming In Csharp
Bee Gee
 
Android development course in pune ppt.
Android development course in pune ppt.Android development course in pune ppt.
Android development course in pune ppt.
sambhajimeher
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
C# 9 - What's the cool stuff? - BASTA! Spring 2021C# 9 - What's the cool stuff? - BASTA! Spring 2021
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
Rodolfo Finochietti
 
Asp.net
Asp.netAsp.net
MS.NET Training
MS.NET TrainingMS.NET Training
MS.NET Training
Deccansoft
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
NguynSang29
 
TypeScript
TypeScriptTypeScript
F# Server-side programming
F# Server-side programmingF# Server-side programming
F# Server-side programming
7sharp9
 
2CPP04 - Objects and Classes
2CPP04 - Objects and Classes2CPP04 - Objects and Classes
2CPP04 - Objects and Classes
Michael Heron
 

Similar to Bracket Show Episode 35 - histoire de c# de 2002 à 2019 (20)

Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#
 
Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#Break Free with Managed Functional Programming: An Introduction to F#
Break Free with Managed Functional Programming: An Introduction to F#
 
C, C++ & Data Structures course training institute ameerpet hyderabad
C, C++ & Data Structures course training institute ameerpet hyderabadC, C++ & Data Structures course training institute ameerpet hyderabad
C, C++ & Data Structures course training institute ameerpet hyderabad
 
C# Basics
C# BasicsC# Basics
C# Basics
 
C Programming for ARM.pptx
C Programming for ARM.pptxC Programming for ARM.pptx
C Programming for ARM.pptx
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
 
Deep Dive C# 8.0
Deep Dive C# 8.0Deep Dive C# 8.0
Deep Dive C# 8.0
 
2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)2.Getting Started with C#.Net-(C#)
2.Getting Started with C#.Net-(C#)
 
Dot Net Online training in uk and usa
Dot Net Online training in uk and usaDot Net Online training in uk and usa
Dot Net Online training in uk and usa
 
Dotnet Online Training
Dotnet Online TrainingDotnet Online Training
Dotnet Online Training
 
Programming In Csharp
Programming In CsharpProgramming In Csharp
Programming In Csharp
 
Android development course in pune ppt.
Android development course in pune ppt.Android development course in pune ppt.
Android development course in pune ppt.
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
C# 9 - What's the cool stuff? - BASTA! Spring 2021C# 9 - What's the cool stuff? - BASTA! Spring 2021
C# 9 - What's the cool stuff? - BASTA! Spring 2021
 
C#: Past, Present and Future
C#: Past, Present and FutureC#: Past, Present and Future
C#: Past, Present and Future
 
Asp.net
Asp.netAsp.net
Asp.net
 
MS.NET Training
MS.NET TrainingMS.NET Training
MS.NET Training
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
 
TypeScript
TypeScriptTypeScript
TypeScript
 
F# Server-side programming
F# Server-side programmingF# Server-side programming
F# Server-side programming
 
2CPP04 - Objects and Classes
2CPP04 - Objects and Classes2CPP04 - Objects and Classes
2CPP04 - Objects and Classes
 

More from Eric De Carufel

Gadgteteer clean code
Gadgteteer   clean codeGadgteteer   clean code
Gadgteteer clean code
Eric De Carufel
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performante
Eric De Carufel
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
Eric De Carufel
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design Patterns
Eric De Carufel
 
Cqrs + event sourcing pyxis v2 - en
Cqrs + event sourcing   pyxis v2 - enCqrs + event sourcing   pyxis v2 - en
Cqrs + event sourcing pyxis v2 - enEric De Carufel
 
Top 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeTop 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre code
Eric De Carufel
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
Eric De Carufel
 
Dvcs mercurial - pyxis - eric de carufel
Dvcs   mercurial - pyxis - eric de carufelDvcs   mercurial - pyxis - eric de carufel
Dvcs mercurial - pyxis - eric de carufelEric De Carufel
 
Top 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeTop 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton code
Eric De Carufel
 

More from Eric De Carufel (9)

Gadgteteer clean code
Gadgteteer   clean codeGadgteteer   clean code
Gadgteteer clean code
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performante
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design Patterns
 
Cqrs + event sourcing pyxis v2 - en
Cqrs + event sourcing   pyxis v2 - enCqrs + event sourcing   pyxis v2 - en
Cqrs + event sourcing pyxis v2 - en
 
Top 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeTop 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre code
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Dvcs mercurial - pyxis - eric de carufel
Dvcs   mercurial - pyxis - eric de carufelDvcs   mercurial - pyxis - eric de carufel
Dvcs mercurial - pyxis - eric de carufel
 
Top 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeTop 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton code
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 

Bracket Show Episode 35 - histoire de c# de 2002 à 2019

  • 3. History of C# - Timeline 2002 2003 2005 2008 2010 2012 2015 2017 2018 2019 C# 1.0 C# 1.1 C# 2.0 C# 3.0 C# 5.0 C# 6.0 C# 7.3C# 4.0 C# 7.0 C# 7.1 C# 7.2 C# 8.0
  • 4. History of C# – Version 1.0 & 1.2 – The beginning • Classes • Structs • Interfaces • Events • Properties • Delegates • Expressions • Statements • Attributes • Literals
  • 5. • Generics • Partial types • Anonymous methods • Nullable types • Iterators • Covariance and contravariance History of C# – Version 2.0 – Generics
  • 6. • Auto-implemented properties • Anonymous types • Query expressions • Lambda expressions • Expression trees • Extension methods • Implicitly typed local variables • Partial methods • Object and collection initializers History of C# – Version 3.0 – LinQ
  • 7. History of C# – Version 4.0 – Dynamic • Dynamic binding • Named/optional arguments • Generic covariant and contravariant • Embedded interop types
  • 8. History of C# – Version 5.0 – Async • Asynchronous members • Caller info attributes
  • 9. History of C# – Version 6.0 – More productive • Static imports • Exception filters • Auto-property initializers • Expression bodied members • Null propagator • String interpolation • nameof operator • Index initializers
  • 10. History of C# – Version 7.0 – Pattern matching • Out variables • Tuples and deconstruction • Pattern matching • Local functions • Expanded expression bodied members • Ref locals and returns • Discards • Binary Literals and Digit Separators • Throw expressions
  • 11. History of C# – Version 7.1 – More Pattern • async Main method • default literal expressions • Inferred tuple element names • Pattern matching on generic type parameters
  • 12. History of C# – Version 7.2 – Efficient value types • Techniques for writing safe efficient code • Non-trailing named arguments • Leading underscores in numeric literals • private protected access modifier • Conditional ref expressions
  • 13. History of C# – Version 7.3 Performance for safe code • Indexing fixed fields does not require pinning • ref local variables may be reassigned • stackalloc arrays support initializers • More types support the fixed statement • Enhanced generic constraints Enhancement • Tuples support == and != • Attach attributes to the backing fields for auto-implemented properties • in method overload resolution tiebreaker • Extend expression variables in initializers • Improved overload candidates
  • 14. History of C# – Version 8.0 – More features • Readonly Members • Default interface members • Nullable reference types • Asynchronous streams • Indices and ranges • Pattern matching enhancements: • Switch expressions • Property patterns • Tuple patterns • Positional patterns • Using declarations • Static local functions • Disposable ref structs • Null-coalescing assignment • Unmanaged constructed types • Stackalloc in nested expressions • Enhancement of interpolated verbatim strings

Editor's Notes

  1. C# 1.0 - January 2002 - .NET Framework 1.0 – Visual Studio 2002 C# 1.1 & 1.2 – April 2003 - .NET Framework 1.1 – Visual Studio 2003
  2. C# 2.0 – November 2005 - .NET Framework 2.0 – Visual Studio 2005
  3. C# 3.0 – Novembre 2007 - .NET Framework 3.0 & 3.5 – Visual Studio 2008
  4. C# 4.0 – April 2010 - .NET Framework 4.0 – Visual Studio 2010
  5. C# 5.0 – August 2012 - .NET Framework 4.5 – Visual Studio 2012 & 2013
  6. C# 6.0 – July 2015 - .NET Framework 4.6 – Visual Studio 2015 Await in catch/finally block Default values for getter-only properties Roslyn the compiler as a service The C# compiler is now written in C#
  7. C# 7.0 – March 2017 - .NET Framework 4.6.2 – Visual Studio 2017
  8. C# 7.1 – August 2017- .NET Framework 4.7 – Visual Studio 2017 version 15.3
  9. C# 7.2 – November 2017- .NET Framework 4.7.1 – Visual Studio 2017 version 15.5
  10. C# 7.3 – May 2018- .NET Framework 4.7.2 – Visual Studio 2017 version 15.7
  11. C# 7.2 – April 2019- .NET Framework 4.7.1 – Visual Studio 2017 version 15.5