SlideShare a Scribd company logo
1 of 15
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 C# History Guide - Evolution of C# Programming Language

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 hyderabadSathya Technologies
 
C Programming for ARM.pptx
C Programming for ARM.pptxC Programming for ARM.pptx
C Programming for ARM.pptxPratik Gohel
 
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
 
Dotnet Online Training
Dotnet Online TrainingDotnet Online Training
Dotnet Online TrainingSumma Mcclane
 
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 usaalmaandrea
 
Programming In Csharp
Programming In CsharpProgramming In Csharp
Programming In CsharpBee 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 2021Christian Nagel
 
MS.NET Training
MS.NET TrainingMS.NET Training
MS.NET TrainingDeccansoft
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#NguynSang29
 
F# Server-side programming
F# Server-side programmingF# Server-side programming
F# Server-side programming7sharp9
 
2CPP04 - Objects and Classes
2CPP04 - Objects and Classes2CPP04 - Objects and Classes
2CPP04 - Objects and ClassesMichael Heron
 

Similar to C# History Guide - Evolution of C# Programming Language (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#)
 
Dotnet Online Training
Dotnet Online TrainingDotnet Online Training
Dotnet Online Training
 
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
 
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

Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performanteEric 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 v2Eric De Carufel
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design PatternsEric 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 codeEric 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 codeEric 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

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

C# History Guide - Evolution of C# Programming Language

  • 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