Jump to content

Outline of the C sharp programming language

From Wikipedia, the free encyclopedia

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.[1][2][3]

What type of language is C#?

[edit]

History of C#

[edit]

General C# concepts

[edit]

Issues / Limitations

[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]

Competitive programming

[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]