Outline of the C sharp programming language

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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 | edit source]

History of C#

[edit | edit source]

General C# concepts

[edit | edit source]

Issues / Limitations

[edit | edit source]

C# toolchain

[edit | edit source]

Compilers

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

Example source code

[edit | edit source]

C# publications

[edit | edit source]

Books about C#

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

C# learning resources

[edit | edit source]

Competitive programming

[edit | edit source]

See also

[edit | edit source]
Outlines of other programming languages

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ https://www.geeksforgeeks.org/csharp-programming-language-introduction/ [permanent dead link]
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  40. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  41. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  42. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  43. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  44. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]