Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
- Förord
- Inledning
- §1 Omfång
- §2 Normativa referenser
- §3 Villkor och definitioner
- §4 Allmän beskrivning
- §5 Överensstämmelse
- §6 Lexikal struktur
- §7 Grundläggande begrepp
-
§8 typer
- §8.1 Allmänt
- §8.2 Referenstyper
- §8.3 Värdetyper
- §8.4 Konstruerade typer
- §8.5 Typparametrar
- Trädtyper för §8.6-uttryck
- §8.7 Den dynamiska typen
- §8.8 Ohanterade typer
- §8.9 Referenstyper och nullbarhet
-
§9 Variabler
- §9.1 Allmänt
- §9.2 Variabelkategorier
- §9.3 Standardvärden
-
§9.4 Bestämd tilldelning
- §9.4.1 Allmänt
- §9.4.2 Ursprungligen tilldelade variabler
- §9.4.3 Ursprungligen otilldelade variabler
-
§9.4.4 Exakta regler för att fastställa en bestämd tilldelning
- §9.4.4.1 Allmänt
- §9.4.4.2 Allmänna regler för uttalanden
- §9.4.4.3 Blockinstruktioner, kontrollerade och okontrollerade instruktioner
- §9.4.4.4 Uttrycksuttryck
- §9.4.4.5 Förklaringsutdrag
- §9.4.4.6 Om instruktioner
- §9.4.4.7 Växelinstruktioner
- §9.4.4.8 While-instruktioner
- §9.4.4.9 Do-instruktioner
- §9.4.4.10 För instruktioner
- §9.4.4.11 Pausa, fortsätta och goto meddelanden
- §9.4.4.12 Kasta instruktioner
- §9.4.4.13 Returutdrag
- §9.4.4.14 Try-catch-instruktioner
- §9.4.4.15 Try-finally-instruktioner
- §9.4.4.16 Try-catch-finally-instruktioner
- §9.4.4.17 Foreach-instruktioner
- §9.4.4.18 Använda instruktioner
- §9.4.4.19 Låssatser
- §9.4.4.20 Avkastningsutdrag
- §9.4.4.21 Allmänna regler för konstanta uttryck
- §9.4.4.22 Allmänna regler för enkla uttryck
- §9.4.4.23 Allmänna regler för uttryck med inbäddade uttryck
- §9.4.4.24 Anropsuttryck och uttryck för objektskapande
- §9.4.4.25 Enkla tilldelningsuttryck
- §9.4.4.26 && uttryck
- §9.4.4.27 || uttryck
- §9.4.4.28 ! Uttryck
- §9.4.4.29 ?? Uttryck
- §9.4.4.30 ?: uttryck
- §9.4.4.31 Anonyma funktioner
- §9.4.4.32 Kasta uttryck
- §9.4.4.33 Regler för variabler i lokala funktioner
- §9.4.4.34 is-mönstersuttryck
- §9.5 Variabelreferenser
- §9.6 Atomitet av variabelreferenser
- §9.7 Referensvariabler och returer
-
§10 Konverteringar
- §10.1 Allmänt
-
§10.2 Implicita konverteringar
- §10.2.1 Allmänt
- §10.2.2 Identitetskonvertering
- §10.2.3 Implicita numeriska konverteringar
- §10.2.4 Implicit uppräkningskonverteringar
- §10.2.5 Implicita interpolerade strängkonverteringar
- §10.2.6 Implicita nullbara konverteringar
- §10.2.7 Nullliterala konverteringar
- §10.2.8 Implicita referenskonverteringar
- §10.2.9 Boxningskonverteringar
- §10.2.10 Implicita dynamiska konverteringar
- §10.2.11 Implicita konstanta uttryckskonverteringar
- §10.2.12 Implicita konverteringar med typparametrar
- §10.2.13 Implicita tupplar
- §10.2.14 Användardefinierade implicita konverteringar
- §10.2.15 Anonyma funktionskonverteringar och metodgruppkonverteringar
- §10.2.16 Standardliterala konverteringar
- §10.2.17 Implicita kastkonverteringar
- §10.2.18 Växla uttryckskonvertering
-
§10.3 Explicita konverteringar
- §10.3.1 Allmänt
- §10.3.2 Explicita numeriska konverteringar
- §10.3.3 Explicit uppräkningskonverteringar
- §10.3.4 Explicita nullbara konverteringar
- §10.3.5 Explicita referenskonverteringar
- §10.3.6 Explicita tupplar
- §10.3.7 Avboxningskonverteringar
- §10.3.8 Explicita konverteringar med typparametrar
- §10.3.9 Användardefinierade explicita konverteringar
- §10.4 Standardkonverteringar
- §10.5 Användardefinierade konverteringar
- §10.6 Konverteringar som omfattar nullbara typer
- §10.7 Anonym funktionskonvertering
- §10.8 Metodgruppkonverteringar
- §11 Mönster och mönstermatchning
-
§12 Uttryck
- §12.1 Allmänt
- §12.2 Uttrycksklassificeringar
- §12.3 Statisk och dynamisk bindning
- §12.4 Operatörer
- §12.5 Medlemssökning
-
§12.6 Funktionsmedlemmar
- §12.6.1 Allmänt
- §12.6.2 Argumentlistor
-
§12.6.3 Typinferens
- §12.6.3.1 Allmänt
- §12.6.3.2 Första fasen
- §12.6.3.3 Den andra fasen
- §12.6.3.4 Indatatyper
- §12.6.3.5 Utdatatyper
- §12.6.3.6 Beroende
- §12.6.3.7 Slutsatsdragningar för indatatyp
- §12.6.3.8 Slutsatsdragningar för utdatatyp
- §12.6.3.9 Explicita parametertypinferenser
- §12.6.3.10 Exakta slutsatsdragningar
- §12.6.3.11 Slutsatsdragningar med lägre bindning
- §12.6.3.12 Slutsatsdragningar med övre gräns
- §12.6.3.13 Fastställande
- §12.6.3.14 Härledd returtyp
- §12.6.3.15 Typinferens för konvertering av metodgrupper
- §12.6.3.16 Hitta den bästa vanliga typen av en uppsättning uttryck
- §12.6.4 Överbelastningsupplösning
- §12.6.5 Kompileringstidskontroll av dynamiskt medlemsanrop
- §12.6.6 Funktionsmedlemsanrop
- §12.7 Dekonstruktion
-
§12.8 Primära uttryck
- §12.8.1 Allmänt
- §12.8.2 Literaler
- §12.8.3 Interpolerade stränguttryck
- §12.8.4 Enkla namn
- §12.8.5 Parenteserade uttryck
- §12.8.6 Tupplar
- §12.8.7 Medlemsåtkomst
- §12.8.8 Null Villkorlig medlemsåtkomst
- §12.8.9 Null-förlåtande uttryck
-
§12.8.10 Anropsuttryck
- §12.8.10.1 Allmänt
- §12.8.10.2 Metodanrop
- §12.8.10.3 Tilläggsmetodanrop
- §12.8.10.4 Ombudsanrop
- §12.8.11 Null villkorligt anropsuttryck
-
§12.8.12 Elementåtkomst
- §12.8.12.1 Allmänt
- §12.8.12.2 Matrisåtkomst
- §12.8.12.3 Strängåtkomst
- §12.8.12.4 Indexerarens åtkomst
- §12.8.13 Null Villkorlig elementåtkomst
- §12.8.14 Denna åtkomst
- §12.8.15 Basåtkomst
- §12.8.16 Postfix-inkrements- och deskrementsoperatorer
-
§12.8.17 Den nya operatören
- §12.8.17.1 Allmänt
-
§12.8.17.2 Uttryck för att skapa objekt
- §12.8.17.2.1 Allmänt
- §12.8.17.2.2 Objektinitierare
- §12.8.17.2.3 Insamlingsinitierare
- §12.8.17.3 Uttryck för att skapa anonyma objekt
- §12.8.17.4 Uttryck för skapande av matris
- §12.8.17.5 Delegera skapandeuttryck
- §12.8.18 Typ av operatör
- §12.8.19 Operatörens storlek
- §12.8.20 De kontrollerade och okontrollerade operatorerna
- §12.8.21 Standardvärdeuttryck
- §12.8.22 Stackallokering
- §12.8.23 Operatörens namn
- §12.8.24 Anonyma metoduttryck
- §12.9 Unary operatorer
- §12.10 Intervalloperator
- §12.11 Växla uttryck
- §12.12 Aritmetiska operatorer
- §12.13 Skiftoperatorer
-
§12.14 Relations- och typtestningsoperatorer
- §12.14.1 Allmänt
- §12.14.2 Jämförelseoperatorer för heltal
- §12.14.3 Jämförelseoperatorer för flyttals
- §12.14.4 Operatorer för decimaljämförelse
- §12.14.5 Booleska likhetsoperatorer
- §12.14.6 Uppräkningsjämförelseoperatorer
- §12.14.7 Likhetsoperatorer för referenstyp
- §12.14.8 Operatorer för strängjämlikhet
- §12.14.9 Delegera likhetsoperatorer
- §12.14.10 Likhetsoperatorer mellan nullbara värdetyper och nullliteralen
- §12.14.11 Likhetsoperatorer för tuppeln
-
§12.14.12 Is-operatorn
- §12.14.12.1 Operatorn är av typen
- §12.14.12.2 Is-pattern-operatorn
- §12.14.13 As-operatorn
- §12.15 Logiska operatorer
- §12.16 Villkorsstyrda logiska operatorer
- §12.17 Operatorn null coalescing
- §12.18 Operatorn för utkastsuttryck
- §12.19 Deklarationsuttryck
- §12.20 Villkorsstyrd operator
-
§12.21 Anonyma funktionsuttryck
- §12.21.1 Allmänt
- §12.21.2 Anonyma funktionssignaturer
- §12.21.3 Anonyma funktionskroppar
- §12.21.4 Överbelastningsupplösning
- §12.21.5 Anonyma funktioner och dynamisk bindning
-
§12.21.6 Yttre variabler
- §12.21.6.1 Allmänt
- §12.21.6.2 Insamlade yttre variabler
- §12.21.6.3 Instansiering av lokala variabler
- §12.21.7 Utvärdering av anonyma funktionsuttryck
- §12.21.8 Implementeringsexempel
-
§12.22 Frågeuttryck
- §12.22.1 Allmänt
- §12.22.2 Tvetydigheter i frågeuttryck
-
§12.22.3 Översättning av frågeuttryck
- §12.22.3.1 Allmänt
- §12.22.3.2 Frågeuttryck med fortsättningar
- §12.22.3.3 Explicita intervallvariabeltyper
- §12.22.3.4 Degenerera frågeuttryck
- §12.22.3.5 Från, låt, var, kopplings- och orderby-satser
- §12.22.3.6 Välj satser
- §12.22.3.7 Gruppsatser
- §12.22.3.8 Transparenta identifierare
- §12.22.4 Frågeuttrycksmönstret
- §12.23 Tilldelningsoperatorer
- §12.24 Uttryck
- §12.25 Konstanta uttryck
- §12.26 Booleska uttryck
-
§13 -instruktioner
- §13.1 Allmänt
- §13.2 Slutpunkter och nåbarhet
- §13.3 Block
- §13.4 Den tomma instruktionen
- §13.5 Etiketterade instruktioner
- §13.6 Förklaringsutdrag
- §13.7 Uttrycksuttryck
- §13.8 Urvalsutdrag
- §13.9 Iterationsuttryck
- §13.10 Jump-instruktioner
- §13.11 Try-instruktionen
- §13.12 De kontrollerade och okontrollerade satserna
- §13.13 Låssatsen
- §13.14 Instruktionen using
- §13.15 Avkastningsutdraget
- §14 Namnområden
-
§15 klasser
- §15.1 Allmänt
-
§15.2 Klassdeklarationer
- §15.2.1 Allmänt
-
§15.2.2 Klassmodifierare
- §15.2.2.1 Allmänt
- §15.2.2.2 Abstrakta klasser
- §15.2.2.3 Förseglade klasser
-
§15.2.2.4 Statiska klasser
- §15.2.2.4.1 Allmänt
- §15.2.2.4.2 Refererar till statiska klasstyper
- §15.2.3 Typparametrar
- §15.2.4 Klassbasspecifikation
- Parameterbegränsningar av typen §15.2.5
- §15.2.6 Klasstext
- §15.2.7 Partiella typdeklarationer
-
§15.3 Klassmedlemmar
- §15.3.1 Allmänt
- §15.3.2 Instanstypen
- §15.3.3 Medlemmar av konstruerade typer
- §15.3.4 Arv
- §15.3.5 Den nya modifieraren
- §15.3.6 Åtkomstmodifierare
- §15.3.7 Komponenttyper
- §15.3.8 Statiska och instansmedlemmar
- §15.3.9 Kapslade typer
-
§15.3.10 Reserverade medlemsnamn
- §15.3.10.1 Allmänt
- §15.3.10.2 Medlemsnamn reserverade för fastigheter
- §15.3.10.3 Medlemsnamn reserverade för evenemang
- §15.3.10.4 Medlemsnamn reserverade för indexerare
- §15.3.10.5 Medlemsnamn reserverade för finalatorer
- §15.3.10.6 Metodnamn reserverade för operatörer
- §15.4 Konstanter
- §15.5 Fält
-
§15.6 Metoder
- §15.6.1 Allmänt
-
§15.6.2 Metodparametrar
- §15.6.2.1 Allmänt
- §15.6.2.2 Värdeparametrar
-
§15.6.2.3 Bireferensparametrar
- §15.6.2.3.1 Allmänt
- §15.6.2.3.2 Indataparametrar
- §15.6.2.3.3 Referensparametrar
- §15.6.2.3.4 Utdataparametrar
- §15.6.2.4 Parametermatriser
- §15.6.3 Statiska metoder och instansmetoder
- §15.6.4 Virtuella metoder
- §15.6.5 Åsidosättningsmetoder
- §15.6.6 Förseglade metoder
- §15.6.7 Abstrakta metoder
- §15.6.8 Externa metoder
- §15.6.9 Partiella metoder
- §15.6.10 Tilläggsmetoder
- §15.6.11 Metodtext
- §15.7 Egenskaper
- §15.8 Händelser
- §15,9 Indexerare
- §15.10 Operatörer
- §15.11 Instanskonstruktorer
- §15.12 Statiska konstruktorer
- §15.13 Slutdetaljer
- §15.14 Async Functions
-
§15.15 Synkrona och asynkrona iteratorer
- §15.15.1 Allmänt
- §15.15.2 Uppräkningsgränssnitt
- §15.15.3 Uppräkningsbara gränssnitt
- §15.15.4 Typ av avkastning
-
§15.15.5 Uppräkningsobjekt
- §15.15.5.1 Allmänt
- §15.15.5.2 Föra uppräknaren framåt
- §15.15.5.3 Hämta det aktuella värdet
- §15.15.5.4 Ta bort resurser
-
§15.15.6 Uppräkningsbara objekt
- §15.15.6.1 Allmänt
- §15.15.6.2 Metoden GetEnumerator eller GetAsyncEnumerator
-
§16 Strukturer
- §16.1 Allmänt
- §16.2 Struct-deklarationer
- §16.3 Struct medlemmar
-
§16.4 Skillnader i klass och struct
- §16.4.1 Allmänt
- §16.4.2 Värdesemantik
- §16.4.3 Arv
- §16.4.4 Tilldelning
- §16.4.5 Standardvärden
- §16.4.6 Boxning och avboxning
- §16.4.7 Innebörden av detta
- §16.4.8 Fältinitierare
- §16.4.9 Konstruktorer
- §16.4.10 Statiska konstruktorer
- §16.4.11 Egenskaper
- §16.4.12 Metoder
- §16.4.13 Indexerare
- §16.4.14 Evenemang
-
§16.4.15 Villkor för säker kontext
- §16.4.15.1 Allmänt
- §16.4.15.2 Parametersäker kontext
- §16.4.15.3 Säker kontext för lokal variabel
- §16.4.15.4 Säker kontext inom fältet
- §16.4.15.5 Operatörer
- §16.4.15.6 Metod- och egenskapsanrop
- §16.4.15.7 stackalloc
- §16.4.15.8 Konstruktoranrop
- §17 Matriser
- §18 Utökad indexering och segmentering
-
§19 Gränssnitt
- §19.1 Allmänt
- §19.2 Gränssnittsdeklarationer
- §19.3 Gränssnittstext
-
§19.4 Gränssnittsmedlemmar
- §19.4.1 Allmänt
- §19.4.2 Gränssnittsfält
- §19.4.3 Gränssnittsmetoder
- §19.4.4 Gränssnittsegenskaper
- §19.4.5 Gränssnittshändelser
- §19.4.6 Gränssnittsindexerare
- §19.4.7 Gränssnittsoperatorer
- §19.4.8 Statiska konstruktorer för gränssnitt
- §19.4.9 Kapslade gränssnittstyper
- §19.4.10 Den mest specifika implementeringen
- §19.4.11 Åtkomst till gränssnittsmedlem
- §19.5 Namn på kvalificerade gränssnittsmedlemmar
-
§19.6 Gränssnittsimplementeringar
- §19.6.1 Allmänt
- §19.6.2 Explicita implementeringar av gränssnittsmedlemmar
- §19.6.3 Unikhet för implementerade gränssnitt
- §19.6.4 Implementering av generiska metoder
- §19.6.5 Gränssnittsmappning
- §19.6.6 Arv av gränssnittsimplementering
- §19.6.7 Omimplementering av gränssnitt
- §19.6.8 Abstrakta klasser och gränssnitt
- §20 Uppräkningar
- §21 Delegater
- §22 Undantag
-
§23 Attribut
- §23.1 Allmänt
- §23.2 Attributklasser
- §23.3 Attributspecifikation
- §23.4 Attributinstanser
-
§23.5 Reserverade attribut
- §23.5.1 Allmänt
- §23.5.2 Attributet AttributeUsage
- §23.5.3 Villkorsattributet
- §23.5.4 Attributet Föråldrad
- §23.5.5 Attributet AsyncMethodBuilder
- §23.5.6 Anropar-info-attribut
-
§23.5.7 Kodanalysattribut
- §23.5.7.1 Allmänt
- §23.5.7.2 Attributet AllowNull
- §23.5.7.3 Attributet DisallowNull
- §23.5.7.4 Attributet DoesNotReturn
- §23.5.7.5 Attributet DoesNotReturnIf
- §23.5.7.6 Attributet MaybeNull
- §23.5.7.7 Attributet MaybeNullWhen
- §23.5.7.8 Attributet NotNull
- §23.5.7.9 Attributet NotNullIfNotNull
- §23.5.7.10 Attributet NotNullWhen
- §23.5.8 Attributet EnumeratorCancellation
- §23.6 Attribut för interoperation
- §24 Osäker kod
- §En grammatik
- §Problem med portabilitet i §B
-
§C Standardbibliotek
- §C.1 Allmänt
- §C.2 Standardbibliotekstyper som definierats i ISO/IEC 23271
- §C.3 Standardbibliotekstyper som inte definierats i ISO/IEC 23271
- Specifikationer för §C.4-format
- §C.5 Förkortningar av bibliotekstyp
-
Kommentarer till §D-dokumentation
- §D.1 Allmänt
- Introduktion till §D.2
-
§D.3 Rekommenderade taggar
- §D.3.1 Allmänt
- §D.3.2<C>
- §D.3.3-kod<>
- Exempel på §D.3.4<>
- §D.3.5-undantag<>
- §D.3.6<inkludera>
- §D.3.7-lista<>
- §D.3.8<punkt>
- §D.3.9<Param>
- §D.3.10<paramref>
- §D.3.11-behörighet<>
- §D.3.12<anmärkningar>
- §D.3.13<returnerar>
- §D.3.14<se>
- §D.3.15<se även>
- §D.3.16<sammanfattning>
- §D.3.17<typeparam>
- §D.3.18<typeparamref>
- §D.3.19-värde<>
-
§D.4 Bearbetning av dokumentationsfilen
- §D.4.1 Allmänt
- ID-strängformat för §D.4.2
- Exempel på §D.4.3 ID-sträng
- §D.5 Ett exempel
- §E Litteraturförteckning
Samarbeta med oss på GitHub
Källan till detta innehåll finns på GitHub, där du också kan skapa och granska problem och pull requests. För mer information, se vår guide för bidragsgivare.
ECMA C# draft specification