C# (uttalas "see sharp") är ett programmeringsspråk för datorer. Det har utvecklats av Microsoft och skapades för att utnyttja möjligheterna i .NET-plattformen. Språket designades för att vara modernt, säkert och lätt att använda i stora applikationer. Utvecklingsteamet leds av Anders Hejlsberg.

Historia

C# började utvecklas i slutet av 1990‑talet och presenterades officiellt av Microsoft i början av 2000-talet. Den första stabila versionen av språket kom i samband med .NET Framework 1.0 som släpptes 2002. Sedan dess har C# utvecklats kontinuerligt med nya språkförbättringar och funktioner. Från och med .NET Core och senare .NET (plattformen efter .NET Core) har C# blivit allt mer cross‑platform och används på Windows, Linux och macOS. Den senaste större stabila versionen av språket är C# 12 (släppt 2023), som bygger vidare på funktioner och förenklingar från tidigare versioner.

Vad kännetecknar C#?

  • Statisk typkontroll: C# är ett statiskt typat språk vilket ger tidigare felupptäckt vid kompilering och bättre verktygsstöd.
  • Objektorienterat: Stöd för klasser, arv, polymorfism och gränssnitt.
  • Minnessäkerhet och garbage collection: Automatisk hantering av minne via Common Language Runtime (CLR).
  • Moderna språkfunktioner: Lambda‑uttryck, generics, LINQ (Language Integrated Query), async/await för asynkron programmering, pattern matching, records, tuples och nullable reference types.
  • Interoperabilitet: Enkel interoperabilitet med annan .NET‑kod och möjligheten att använda bibliotek från andra .NET‑språk.
  • Prestanda: JIT‑kompilering, stöd för värdetyper och span/Memory för effektiv hantering av buffertar utan onödig allokering.

Vanliga användningsområden

  • Webbapplikationer och API:er med ASP.NET Core.
  • Skrivbordsapplikationer på Windows (WPF, Windows Forms) och tvärplattformslösningar med .NET MAUI.
  • Mobilutveckling via Xamarin och .NET MAUI.
  • Spelutveckling — Unity använder C# som huvudspråk.
  • Molntjänster och serverlös arkitektur i Azure eller andra molnplattformar.

Ekosystem och verktyg

  • Kompatibilitet: C# körs på .NETs Common Language Runtime (CLR) och använder Intermediate Language (IL).
  • Verktyg: Populära utvecklingsverktyg är Visual Studio och Visual Studio Code. Kompilatorn Roslyn tillhandahåller avancerat analys‑ och refaktoreringsstöd.
  • Standardisering: C# är standardiserat genom ECMA‑334 och ISO/IEC 23270, vilket har bidragit till språkets stabilitet och tydliga specifikation.
  • Öppen källkod: Sedan introduktionen av .NET Core och Roslyn har mycket av .NET‑ekosystemet blivit öppet och community‑drivet.

Sammanfattning

C# är ett kraftfullt och modernt programmeringsspråk designat för att fungera sömlöst med .NET‑plattformen. Det kombinerar objektorienterade principer med moderna språkinnovationer för att underlätta säker, effektiv och produktiv mjukvaruutveckling över flera plattformar och domäner.