Skip to content

C# Features

This page lists the canonical single-feature guides for the C# section.

Use Versions for release-oriented browsing and Hubs for topic-oriented browsing.

HubFocus
Null HandlingNull-safe access, nullability, and fallbacks.
Pattern MatchingPattern families and pattern-driven branching.
Async and AwaitAsynchronous methods and async entry points.
String Literals and InterpolationString formatting and string literal features.
Object Construction and InitializationConstruction, copying, and member initialization.
Collections and QueriesLINQ, projection, slicing, and collection shaping.
Resource ManagementDeterministic cleanup and disposal syntax.
Code OrganizationFile layout, imports, and entry-point structure.
Memory and PerformanceLow-allocation and low-level language features.
FeatureIntroduced InGuide
String interpolationC# 6.0Guide
nameofC# 6.0Guide
Null-coalescingC# 2.0Guide
Null-coalescing assignmentC# 8.0Guide
Null-conditionalC# 6.0Guide
Null-conditional assignmentC# 14.0Guide
Nullable value typesC# 2.0Guide
Nullable reference typesC# 8.0Guide
var implicit typingC# 3.0Guide
DynamicC# 4.0Guide
Default literalC# 7.1Guide
nameof supports unbound generic typesC# 14.0Guide
Top-level statementsC# 9.0Guide
File-scoped namespacesC# 10.0Guide
Global usingsC# 10.0Guide
File-based app directivesC# 14.0Guide
Raw string literalsC# 11.0Guide
UTF-8 string literalsC# 11.0Guide
Checked operatorsC# 1.0Guide
Unsigned right shiftC# 11.0Guide
User-defined compound assignment operatorsC# 14.0Guide
unsafe and fixedC# 1.0Guide
FeatureIntroduced InGuide
Pattern matchingC# 7.0Guide
Constant patternsC# 7.0Guide
Property patternsC# 8.0Guide
Relational patternsC# 9.0Guide
List patternsC# 11.0Guide
Switch expressionsC# 8.0Guide
Out variablesC# 7.0Guide
Local functionsC# 7.0Guide
Static local functionsC# 8.0Guide
Throw expressionsC# 7.0Guide
break vs continueC# 1.0Guide
DiscardsC# 7.0Guide
FeatureIntroduced InGuide
Auto-implemented propertiesC# 3.0Guide
IndexersC# 1.0Guide
Default interface methodsC# 8.0Guide
Extension membersC# 14.0Guide
Field-backed propertiesC# 14.0Guide
Init-only settersC# 9.0Guide
RecordsC# 9.0Guide
Target-typed newC# 9.0Guide
with expressionsC# 9.0Guide
Required membersC# 11.0Guide
Generic attributesC# 11.0Guide
Primary constructorsC# 12.0Guide
Partial constructorsC# 14.0Guide
Partial eventsC# 14.0Guide
Partial propertiesC# 13.0Guide
Union typesC# 15.0 previewGuide
FeatureIntroduced InGuide
Lambda expressionsC# 3.0Guide
LINQ query expressionsC# 3.0Guide
Anonymous typesC# 3.0Guide
Extension methodsC# 3.0Guide
Lambda parameter modifiersC# 14.0Guide
Iterator (yield)C# 2.0Guide
TuplesC# 7.0Guide
DeconstructionC# 7.0Guide
Index operatorC# 8.0Guide
Range operatorC# 8.0Guide
Collection expressionsC# 12.0Guide
Collection expression argumentsC# 15.0 previewGuide
Params collectionsC# 13.0Guide
FeatureIntroduced InGuide
async/awaitC# 5.0Guide
async MainC# 7.1Guide
using statementsC# 1.0Guide
Using declarationsC# 8.0Guide
await usingC# 8.0Guide
Span<T>C# 7.2Guide
Implicit Span and ReadOnlySpan conversionsC# 14.0Guide
ref localsC# 7.0Guide
ref returnsC# 7.0Guide
ref structC# 7.2Guide
readonly structC# 7.2Guide
Generic mathC# 11.0Guide
Interpolated string handlersC# 10.0Guide

Some pages remain in the section as legacy redirects or as design-pattern notes, such as computed properties and lazy properties. They are intentionally excluded from this canonical index because they are not single language-release features.