← All languages

C#

C family · 2000Actively developed

A modern, expressive language for the .NET ecosystem.

Object-oriented · Functional · Generic

Homepage
https://dotnet.microsoft.com/languages/csharp
Reference / standard
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/
Language design discussions
https://github.com/dotnet/csharplang/discussions
Wikipedia (English)
https://en.wikipedia.org/wiki/C_Sharp_(programming_language)

Tracked release

Version
14
Artifact
Language version
Published
2025-11
Source checked
2026-10-22
https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history

Use & ecosystem

Suited for
Games, Web backends, Frontend UIs, Desktop applications, Mobile applications, Distributed services
Family / tradition
C-style
Maturity
Established
Ecosystem breadth
Broad

A stable language and sustained independent use in business software, services, desktop applications and games support Established and Broad. Platform-specific frameworks and newer deployment modes retain their own maturity limits.

Industry & practical use

C# is established in business applications and web services through .NET and ASP.NET Core, and in game scripting through Unity. Blazor supports web UIs, while .NET MAUI targets mobile and desktop applications. These workloads use different frameworks and do not share identical platform support.

Compilers, libraries & tooling

Microsoft’s open-source Roslyn compiler, .NET SDK and NuGet package ecosystem provide an integrated development workflow. Visual Studio and other editors offer extensive tooling. Modern .NET is cross-platform; older .NET Framework applications and Windows-specific UI libraries remain tied to Windows.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
Browser, Android, iOS
Browser execution
WebAssembly
Native cross-compilation
Restricted / involved

.NET runs on Linux, Windows and macOS. Browser execution uses Blazor/WebAssembly; Android and iOS applications use frameworks such as MAUI or Unity. A cross-platform runtime does not make every desktop UI framework cross-platform.

Portable managed assemblies and native AOT are different workflows. .NET Native AOT supports some x64/Arm64 cross-architecture builds with native tools installed, but does not support direct cross-OS compilation; build on the target OS or use an appropriate VM/build environment.

Project health & support

Microsoft leads C# and .NET development, with public design discussions and open-source contributions. .NET publishes explicit release and support policies, including LTS releases. Unity’s supported C# features and runtime evolve separately from the newest .NET SDK.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

C# was announced by Microsoft in 2000 as part of the emerging .NET platform. Led by Anders Hejlsberg, its design developed from an object-oriented foundation to include generics, lambdas, asynchronous programming and increasingly rich pattern matching.

Creators
Anders Hejlsberg, Microsoft
Origin
2000 — First public appearance; earlier development is noted below.

Influences & descendants

Influenced by

  • Not yet documented in this catalogue.

Influenced in this catalogue

  • No linked entries yet.

Language features

Typing
Static
Execution
JIT, AOT
Block structure
Explicit delimiters
Semicolons
Required
Lexical closures
Yes
Namespaced modules
Yes
Pattern matching
Yes
Macro system
No built-in macro system

Implementation notes

  • 2000 is the announcement year; C# 1.0 shipped with .NET in 2002.
  • C# is primarily statically typed; dynamic permits runtime binding in selected expressions.
  • Typical .NET deployment uses JIT compilation. Native AOT is another deployment model. Source generators are not language-level syntax macros.

Sources & references

Language reference
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/
History and background
https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history

Use, ecosystem & platform sources

Application areas and platforms
https://dotnet.microsoft.com/en-us/
Microsoft support policy
https://dotnet.microsoft.com/en-us/platform/support/policy
C# development
https://github.com/dotnet/csharplang
Native AOT cross-compilation
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/cross-compile
Unity scripting
https://docs.unity3d.com/Manual/scripting.html
Browser runtime
https://learn.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-10.0

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.