C#
C family · 2000Actively developedA modern, expressive language for the .NET ecosystem.
Object-oriented · Functional · Generic
Links
- 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
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
See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.