C#-referens

Det här avsnittet innehåller referensmaterial om C#-nyckelord, operatorer, specialtecken, preprocessor-direktiv, kompilatoralternativ och kompilatorfel och varningar.

Innehåll i det här avsnittet

C#-nyckelord
Innehåller länkar till information om C#-nyckelord och syntax.

C#-operatorer
Innehåller länkar till information om C#-operatorer och syntax.

C#-specialtecken
Innehåller länkar till information om särskilda kontextuella tecken i C# och deras användning.

C# Preprocessor-direktiv
Innehåller länkar till information om kompilatorkommandon för inbäddning i C#-källkod.

C#-kompilatoralternativ
Innehåller information om kompilatoralternativ och hur du använder dem.

C#-kompilatorfel
Innehåller kodfragment som visar orsaken till och korrigeringen av C#-kompilatorfel och varningar.

C#-språkspecifikation
Språkspecifikationen C# 6.0. Det här är ett utkast till förslag för språket C# 6.0. Detta dokument kommer att förfinas genom arbete med ECMA C#-standardkommittén. Version 5.0 släpptes i december 2017 som standarddokumentet ECMA-334 5th Edition .

De funktioner som har implementerats i C#-versioner efter 6.0 visas i språkspecifikationsförslag. Dessa dokument beskriver deltan i språkspecifikationen för att lägga till dessa nya funktioner. Dessa är i utkast till förslagsformulär. Dessa specifikationer kommer att förfinas och överlämnas till ECMA:s standardkommitté för formell granskning och införlivande i en framtida version av C#-standarden.

C# 7.0 Specifikationsförslag
Det finns ett antal nya funktioner implementerade i C# 7.0. De innehåller mönstermatchning, lokala funktioner, ut variabeldeklarationer, utkastsuttryck, binära literaler och sifferavgränsare. Den här mappen innehåller specifikationerna för var och en av dessa funktioner.

C# 7.1 Specifikationsförslag
Nya funktioner har lagts till i C# 7.1. Först kan du skriva en Main metod som returnerar Task eller Task<int>. På så sätt kan du lägga till modifieraren Maini async . Uttrycket default kan användas utan en typ på platser där typen kan härledas. Dessutom kan tuppelns medlemsnamn härledas. Slutligen kan mönstermatchning användas med generiska objekt.

C# 7.2 Specifikationsförslag
C# 7.2 har lagt till ett antal små funktioner. Du kan skicka argument med skrivskyddad referens med hjälp av nyckelordet in . Det finns ett antal ändringar på låg nivå som stöder kompileringstidssäkerhet för Span och relaterade typer. Du kan använda namngivna argument där senare argument är positionella i vissa situationer. Med private protected åtkomstmodifieraren kan du ange att anropare är begränsade till härledda typer som implementeras i samma sammansättning. Operatorn ?: kan matcha en referens till en variabel. Du kan också formatera hexadecimala och binära tal med hjälp av en inledande sifferavgränsare.

C# 7.3 Specifikationsförslag
C# 7.3 är en annan punktversion som innehåller flera små uppdateringar. Du kan använda nya begränsningar för generiska typparametrar. Andra ändringar gör det enklare att arbeta med fixed fält, inklusive användning av stackalloc allokeringar. Lokala variabler som deklareras med nyckelordet ref kan omtilldelas för att referera till ny lagring. Du kan placera attribut på automatiskt implementerade egenskaper som är riktade mot det kompilatorgenererade bakgrundsfältet. Uttrycksvariabler kan användas i initierare. Tupplar kan jämföras för likhet (eller ojämlikhet). Det har också skett vissa förbättringar av överbelastningslösningen.

C# 8.0 Specifikationsförslag
C# 8.0 är tillgängligt med .NET Core 3.0. Funktionerna omfattar null-referenstyper, rekursiv mönstermatchning, standardgränssnittsmetoder, asynkrona strömmar, intervall och index, mönster baserat på användning och användning av deklarationer, null-sammanslagningstilldelning och readonly-instansmedlemmar.

C# 9 Specifikationsförslag
C# 9 är tillgängligt med .NET 5. Funktionerna omfattar poster, top-level-instruktioner, mönstermatchningsförbättringar, init only setters, måltypade nya uttryck, modulinitierare, utökande partiella metoder, statiska anonyma funktioner, måltypade villkorsuttryck, samtidiga returtyper, tilläggs-GetEnumerator i foreach-loopar, lambda-ignorera parametrar, attribut på lokala funktioner, inbyggda heltal, funktionspekare, utelämnande av localsinit-flagga och icke-tränade typparameteranteckningar.

C# 10 Specifikationsförslag
C# 10 är tillgängligt med .NET 6. Funktionerna omfattar poststrukturer, parameterlösa structkonstruktorer, globala användningsdirektiv, filomfattande namnrymder, utökade egenskapsmönster, förbättrade interpolerade strängar, konstanta interpolerade strängar, lambda-förbättringar, uttryck för anroparargument, förbättrade #line direktiv, generiska attribut, förbättrad definitiv tilldelningsanalys och AsyncMethodBuilder åsidosättning.

Använda Visual Studio Utvecklingsmiljö för C #
Innehåller länkar till begrepps- och uppgiftsämnen som beskriver IDE och Redigeraren.

Programmeringsguide för C#
Innehåller information om hur du använder programmeringsspråket C#.