Outline of the C sharp programming language

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 Common Language Runtime (CLR) environment.[1][2][3]

What type of language is C#?

edit

History of C#

edit

General C# concepts

edit

Issues, limits

edit

C# toolchain

edit

Compilers

edit
  • 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

edit
  • 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.[42]

C# libraries and frameworks

edit
  • .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

edit
  • 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#[43]

Notable projects written in C#

edit

Example source code

edit

C# publications

edit

Books about C#

edit
  • Andrew TroelsenPro C# and the .NET Platform
  • Bill WagnerEffective C#
  • Herbert SchildtC#: A Beginner's Guide and C# 4.0: The Complete Reference
  • Jeff ProsiseProgramming Microsoft .NET
  • Jeffrey Richter – CLR via C#
  • Jennifer GreeneHead First C#
  • Jon Skeet – C# in Depth
  • Mark J. Price – C# 12 and .NET 8 – Modern Cross-Platform Development
  • Rob MilesThe C# Programming Yellow Book[44]
edit

C# learning resources

edit

See also

edit
Outlines of other programming languages

References

edit
  1. "C# Guide – .NET managed language". learn.microsoft.com.
  2. https://www.geeksforgeeks.org/csharp-programming-language-introduction/ [permanent dead link]
  3. "C# – a modern, open-source programming language – .NET". Microsoft.
  4. "Introduction – C# language specification". learn.microsoft.com.
  5. "The history of C#". learn.microsoft.com.
  6. "Assemblies in .NET – .NET". learn.microsoft.com.
  7. "Attributes – C# language specification". learn.microsoft.com.
  8. "Async and Await in C#". GeeksforGeeks. August 1, 2022.
  9. "Asynchronous programming – C#". learn.microsoft.com.
  10. "Classes and objects tutorial – C#". learn.microsoft.com.
  11. "Collections – C# reference". learn.microsoft.com.
  12. "Work with delegate types in C# – C#". learn.microsoft.com.
  13. "Encapsulation in C#". GeeksforGeeks. October 15, 2018.
  14. "Events – C#". learn.microsoft.com.
  15. "Exception Handling – C#". learn.microsoft.com.
  16. ".NET garbage collection – .NET". learn.microsoft.com.
  17. "Garbage Collection in C# | .NET Framework". GeeksforGeeks. April 17, 2019.
  18. "C# generics (With Examples)". www.programiz.com.
  19. "Generic classes and methods – C#". learn.microsoft.com.
  20. "Tutorial: Introduction to Inheritance – C#". learn.microsoft.com.
  21. "Interfaces – define behavior for multiple types – C#". learn.microsoft.com.
  22. "Lambda Expressions in C#". GeeksforGeeks. September 20, 2019.
  23. "Language Integrated Query (LINQ) – C#". learn.microsoft.com.
  24. "C# Memory Management". GeeksforGeeks. September 19, 2025.
  25. "Memory management and patterns in ASP.NET Core". learn.microsoft.com.
  26. "Namespaces – C# language specification". learn.microsoft.com.
  27. "Nullable reference types – C#". learn.microsoft.com.
  28. "Operator overloading – Define unary, arithmetic, equality, and comparison operators. – C# reference". learn.microsoft.com.
  29. "Pattern matching overview – C#". learn.microsoft.com.
  30. "Properties – C#". learn.microsoft.com.
  31. "Records – C# reference". learn.microsoft.com.
  32. "Reflection in .NET". learn.microsoft.com.
  33. "Serialization – .NET". learn.microsoft.com.
  34. "Structs – C# language specification". learn.microsoft.com.
  35. "Using threads and threading – .NET". learn.microsoft.com.
  36. "Task-based asynchronous programming – .NET". learn.microsoft.com.
  37. Chand, Mahesh. "Type Inference in C#". www.c-sharpcorner.com.
  38. Kumar, Ravi Ranjan. "A Basic Introduction To C# Unit Test For Beginners". www.c-sharpcorner.com.
  39. "Reference types – C# reference". learn.microsoft.com.
  40. "Garbage Collection and Performance – .NET". learn.microsoft.com.
  41. "Dependency loading – .NET". learn.microsoft.com.
  42. ".NET CLI". learn.microsoft.com.
  43. "Home | BenchmarkDotNet". benchmarkdotnet.org.
  44. "Top C# Books recommended by experts – MentorCruise". mentorcruise.com.
edit