C#

Definition

C# (pronounced “C sharp”) is a modern, multi-paradigm programming language developed by Microsoft

  • License: ECMA/ISO standard; Microsoft’s implementation (Roslyn) is MIT licensed
  • Runtime: .NET (cross-platform, open-source) / .NET Framework (Windows-only)
  • Creator: Anders Hejlsberg (also created Turbo Pascal, Delphi)
  • First released: 2002 with .NET Framework 1.0

Language Features

  • Type system: Statically typed with type inference (var)
  • Garbage collection: Automatic memory management
  • LINQ: Language-Integrated Query for database and data source access
  • Async/await: Native asynchronous programming support
  • Delegates and events: Type-safe function pointers
  • Properties, indexers, attributes: Rich class member support

Major Versions

Version Year Key Features
C# 1.0 2002 Base language features
C# 2.0 2005 Generics, partial classes, nullable types
C# 3.0 2007 LINQ, lambda expressions, expression-trees
C# 4.0 2010 Dynamic typing, optional parameters
C# 5.0 2012 async/await
C# 6.0 2015 Null-conditional operators, using-statements
C# 7.0-7.3 2017 Tuples, pattern matching, ref returns
C# 8.0-9.0 2019-2020 Nullable reference types, records, patterns
C# 10-13 2021-2024 File-scoped namespaces, records, raw strings, global-using

Runtime: .NET

Component Description
.NET Core / .NET 5+ Cross-platform, open-source, unified platform
.NET Framework Windows-only, legacy
Mono Open-source .NET implementation for mobile and game engines
Roslyn Open-source C# compiler platform (MIT license)

Use Cases

  • Enterprise desktop applications (WPF, WinForms)
  • Web applications (ASP.NET Core)
  • Game development (Unity engine)
  • Mobile applications (Xamarin, .NET MAUI)
  • Cloud services (Azure integration)