The following outline is provided as an overview of and topical guide to C#:
C# (pronounced âÂÂC-sharpâÂÂ) is a free and open-source multi-paradigm programming language developed by Microsoft as part of its .NET initiative. C# was designed by Anders Hejlsberg and first appeared in 2000 with the release of .NET Framework. The language emphasizes type safety, component-oriented programming, and modern object-oriented programming concepts. C# syntax is similar to C++ and Java, but is tightly integrated with the .NET runtime environment.
What type of language is C#?
History of C#
General C# concepts
Issues / Limitations
C# toolchain
Compilers
- Roslyn â open-source compiler platform for C# and VB.NET
- Mono â cross-platform implementation of C# and .NET
- Bartok â experimental AOT compiler by Microsoft Research
- CoreRT â .NET Foundation project for AOT and JIT compilation
- IL2CPU â AOT compiler used by the COSMOS operating system
- RemObjects C# â AOT compiler supporting multiple platforms
- RyuJIT â JIT compiler used in .NET Core and .NET 5+
- SharpDevelop â open-source IDE and C# compiler under LGPL
- Visual C# â MicrosoftâÂÂs primary JIT compiler for C#
- Visual C# Express â freeware edition of Visual C# for beginners
- Portable.NET â discontinued AOT compiler from the DotGNU project
Build and package management
- MSBuild â MicrosoftâÂÂs official build engine
- NuGet â official .NET package manager and registry
- dotnet CLI â command-line interface for building, running, and publishing C# applications.
C# libraries and frameworks
- .NET Standard â specification ensuring API compatibility across .NET implementations
- ASP.NET Core â framework for building web applications and APIs
- Entity Framework Core â object-relational mapper (ORM)
- Xamarin â framework for building cross-platform mobile applications
- Blazor â framework for building interactive web UIs with C#
- Unity â game engine using C# as its primary scripting language
Testing and benchmarking
- xUnit â popular open-source testing framework
- NUnit â testing framework for .NET
- MSTest â MicrosoftâÂÂs built-in test framework
- BenchmarkDotNet â library for performance benchmarking in C#
Notable projects written in C#
Example source code
C# publications
Books about C#
- Andrew Troelsen â Pro C# and the .NET Platform
- Bill Wagner â Effective C#
- Herbert Schildt â C#: A Beginner's Guide and C# 4.0: The Complete Reference
- Jeff Prosise â Programming Microsoft .NET
- Jeffrey Richter â CLR via C#
- Jennifer Greene â Head First C#
- Jon Skeet â C# in Depth
- Mark J. Price â C# 12 and .NET 8 â Modern Cross-Platform Development
- Rob Miles â The C# Programming Yellow Book
C# dialects and related languages
C# learning resources
Competitive programming
See also
Outlines of other programming languages
References
External links