Versions


VersionVisual Studio.NET LibraryReleased
C# 12.0Visual Studio 2022.NET 8.0preview
C# 11.0Visual Studio 2022.NET 7.02023 March
C# 10.0Visual Studio 2022.NET 6.02021 November
C# 9.0Visual Studio 2019.NET 5.02020 November
C# 8.0Visual Studio 2017.NET Framework 4.82019 April
C# 7.0Visual Studio 2015.NET Framework 4.72017 April
C# 6.0Visual Studio 2013.NET Framework 4.62015 July
C# 5.0Visual Studio 2012.NET Framework 4.52012 August
C# 4.0Visual Studio 2010.NET Framework 4.02010 April
C# 3.0Visual Studio 2008.NET Framework 3.52007 November
C# 2.0Visual Studio 2005.NET Framework 2.02005 September
C# 1.0Visual Studio 2003.NET Framework 1.12003 August

C# 12.0

.NET 8.0 introduced in Visual Studio 2022.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12 

C# 11.0

.NET 7.0 introduced in Visual Studio 2022.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11 

C# 10.0

.NET 6.0 introduced in Visual Studio 2022.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-10 
Record structs 
Global using directives 
File-scoped namespace declaration 
Extended Proptery Patterns 
Null Parameter Checking 
Constant interpolated strings 
Enhanced #line pragma 
Record structs
Global using directives
File-scoped namespace declaration
Extended Proptery Patterns
Null Parameter Checking
Constant interpolated strings
Enhanced #line pragma

C# 9.0

.NET 5.0 introduced in Visual Studio 2019.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9 
Record types 
Positional syntax for property definition 
Immutability 
Value equality 
Nondestructive mutation 
Built-in formatting for display 
Inheritance 
Init only setters 
Top-level statements 
Pattern matching enhancements 
Performance and interop 
Fit and finish features 
Support for code generators 
Record types
Positional syntax for property definition
Immutability
Value equality
Nondestructive mutation
Built-in formatting for display
Inheritance
Init only setters
Top-level statements
Pattern matching enhancements
Performance and interop
Fit and finish features
Support for code generators

Record types

You use the record keyword to define a reference type that provides built-in functionality for encapsulating data.

public record Person(string FirstName, string LastName); 

C# 8.0

.NET Framework 4.8 introduced in Visual Studio 2019.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8 
Readonly members 
Default interface methods 
Using declarations 
Static local functions 
Disposable ref structs 
Nullable reference types 
Readonly members
Default interface methods
Using declarations
Static local functions
Disposable ref structs
Nullable reference types

C# 7.0

.NET Framework 4.7 introduced in Visual Studio 2017.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7 
DiscardsMore Details
is Operator Pattern MatchingMore Details
Local functions 
out VariablesMore Details
Reference Variables 
Tuples and Deconstruction 
Discards
More Details
is Operator Pattern Matching
More Details
Local functions
out Variables
More Details
Reference Variables
Tuples and Deconstruction

C# 6.0

.NET Framework 4.6 introduced in Visual Studio 2015.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-6 
Auto-Property InitializersMore Details
Dictionary InitializersMore Details
Exception FiltersMore Details
nameof OperatorMore Details
Null-Conditional OperatorMore Details
Primary ConstructorsMore Details
Static ImportsMore Details
String InterpolationMore Details
Auto-Property Initializers
More Details
Dictionary Initializers
More Details
Exception Filters
More Details
nameof Operator
More Details
Null-Conditional Operator
More Details
Primary Constructors
More Details
Static Imports
More Details
String Interpolation
More Details

C# 5.0

.NET Framework 4.5 introduced in Visual Studio 2012.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history 
async /awaitMore Details
Caller Information AttributesMore Details
async /await
More Details
Caller Information Attributes
More Details

C# 4.0

.NET Framework 4.0 introduced in Visual Studio 2010.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history 
Dynamic/Late Binding - dynamicMore Details
Embedded Interop TypesMore Details
Managed Extensibility Framework (MEF) 
Named ParametersMore Details
Optional ParametersMore Details
Parameterized Properties (VSTO)More Details
System.Collections.Generic.SortedSetMore Details
System.Lazy More Details
System.NumericsMore Details
System.Threading.TaskMore Details
System.TupleMore Details
Type VarianceMore Details
Dynamic/Late Binding - dynamic
More Details
Embedded Interop Types
More Details
Managed Extensibility Framework (MEF)
Named Parameters
More Details
Optional Parameters
More Details
Parameterized Properties (VSTO)
More Details
System.Collections.Generic.SortedSet
More Details
System.Lazy
More Details
System.Numerics
More Details
System.Threading.Task
More Details
System.Tuple
More Details
Type Variance
More Details

C# 3.0

.NET Framework 3.5 introduced in Visual Studio 2008.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history 
Office Interop API Extensions (VSTO)More Details
Anonymous TypesMore Details
Auto Implemented PropertiesMore Details
Collection InitializersMore Details
Expression TreesMore Details
Extension MethodsMore Details
Generic DelegatesMore Details
Implicitly Typed Variables - varMore Details
Lambda ExpressionsMore Details
Language Intergrated Query (LINQ)More Details
Object InitializersMore Details
Partial MethodsMore Details
Query ExpressionsMore Details
System.Collections.Generic.HashSetMore Details
Office Interop API Extensions (VSTO)
More Details
Anonymous Types
More Details
Auto Implemented Properties
More Details
Collection Initializers
More Details
Expression Trees
More Details
Extension Methods
More Details
Generic Delegates
More Details
Implicitly Typed Variables - var
More Details
Lambda Expressions
More Details
Language Intergrated Query (LINQ)
More Details
Object Initializers
More Details
Partial Methods
More Details
Query Expressions
More Details
System.Collections.Generic.HashSet
More Details

C# 2.0

.NET Framework 2.0 introduced in Visual Studio 2005.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history 
Anonymous MethodsMore Details
Covariance and ContravarianceMore Details
GenericsMore Details
IteratorsMore Details
Nullable TypesMore Details
Partial ClassesMore Details
Static ClassesMore Details
Anonymous Methods
More Details
Covariance and Contravariance
More Details
Generics
More Details
Iterators
More Details
Nullable Types
More Details
Partial Classes
More Details
Static Classes
More Details

C# 1.0

.NET Framework 1.1 introduced in Visual Studio 2003.

link - learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history 
ClassesMore Details
DelegatesMore Details
EventsMore Details
InterfacesMore Details
PropertiesMore Details
ReflectionMore Details
StructuresMore Details
Classes
More Details
Delegates
More Details
Events
More Details
Interfaces
More Details
Properties
More Details
Reflection
More Details
Structures
More Details

© 2026 Better Solutions Limited. All Rights Reserved. © 2026 Better Solutions Limited TopPrevNext