Top Qs
Timeline
Chat
Perspective
Outline of the C sharp programming language
Programming language From Wikipedia, the free encyclopedia
Remove ads
The following outline is provided as an overview of and topical guide to C#:
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
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]
Remove ads
What type of language is C#?
- Programming language — artificial language designed to communicate instructions to a computer
- Compiled language — compiled to Common Intermediate Language and executed by the Common Language Runtime
- General-purpose programming language
- Imperative programming – paradigm using statements that change program state, focusing on how to perform computation.
- Functional programming – treating computation as evaluation of functions, avoiding mutable state, focusing on what to compute.
- Component-oriented programming – reusable components with well-defined interfaces for modularity and code reuse.
- Statically typed programming language — type checking performed at compile time
- Managed code — runs in a virtual machine environment (.NET runtime) that handles memory management via garbage collection
- Object-oriented programming language
Remove ads
History of C#
- Anders Hejlsberg — lead architect and creator of C#
- Microsoft — developer and maintainer of C#
- 2000 — C# first appeared as part of .NET Framework development[4]
- 2002 — C# 1.0 released with Visual Studio .NET
- 2007 — C# 3.0 added LINQ, lambda expressions, and extension methods
- 2012 — C# 5.0 added async and await and caller info attributes
- 2015 — C# 6.0 added expression-bodied members, string interpolation, and Roslyn.
- 2014 — .NET Core introduced as an open-source and cross-platform implementation
- 2020 — .NET 5 unified .NET Framework and .NET Core
- 2024 — C# 13 added params collections and partial properties[5]
Remove ads
General C# concepts
- Assemblies[6]
- Attributes[7]
- Async/await[8]
- Asynchronous programming[9]
- Classes and objects[10]
- Collections[11]
- Delegates[12]
- Encapsulation[13]
- Events[14]
- Exception handling[15]
- Garbage collection[16][17]
- Generics[18][19]
- Inheritance[20]
- Interfaces[21]
- Lambdas[22]
- Language Integrated Query[23]
- Memory management[24][25]
- Namespaces[26]
- Nullable type[27]
- Operator overloading[28]
- Pattern matching[29]
- Properties[30]
- Records[31]
- Reflection[32]
- Serialization[33]
- Structs[34]
- Threads[35] and tasks[36]
- Type inference[37]
- Unit testing[38]
- Value type and reference type[39]
Issues / Limitations
- Garbage collection overhead[40]
- Platform dependencies [41]
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
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
Remove ads
Notable projects written in C#
- Unity
- VS Code extensions
- Godot with C# scripting support
- Microsoft Office add-ins
- Visual Studio Tools for Office
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[44]
Remove ads
C# dialects and related languages
- Visual Basic .NET — shares the same runtime and type system
- F# — functional-first language on the .NET platform
- PowerShell — built on .NET and C#
- Q# — quantum programming language from Microsoft influenced by C#
C# learning resources
- Introduction to C#
- Official Microsoft C# documentation
- C# overview page
- W3Schools – C# tutorials
- GeeksforGeeks – C# basics
Competitive programming
- LeetCode — supports C# submissions
- HackerRank — includes C# challenges
- Codeforces — supports C# in contests
See also
Wikibooks has a book on the topic of: C Sharp Programming
- Comparison of C Sharp and Java
- Outline of computer programming
- Outline of software
- Outline of software engineering
- Outlines of other programming languages
Remove ads
External links
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads