Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alábbi táblázat a C# beépített értéktípusokat sorolja fel:
Az alábbi táblázat a C# beépített referenciatípusokat sorolja fel:
| C# típusú kulcsszó | .NET-típus |
|---|---|
object |
System.Object |
string |
System.String |
delegate |
System.Delegate |
dynamic |
System.Object |
Az előző táblázatokban a bal oldali oszlop legtöbb C# típusú kulcsszója a megfelelő .NET-típus aliasa. Felcserélhetők. A következő deklarációk például azonos típusú változókat deklarálnak:
int a = 123;
System.Int32 b = 123;
A dynamic típus hasonló a következőhöz object: . A legfontosabb különbségek a következők:
- A
dynamickifejezések műveletei futásidőben vannak megkötve, nem fordítási időben. - A
new dynamic()nem használható. - A típusból nem származtathat típust
dynamic.
A delegate kulcsszó egy beépített referenciatípusú kulcsszó, amely deklarál egy, a forrásból System.Delegateszármaztatott típust. A többi beépített típusú kulcsszavakkal delegate ellentétben nem egy adott .NET-típus aliasa. Ehelyett az absztrakt System.Delegate típusból származó egyéni típusokat deklarál. Hasonlóképpen a futásidejű kötés viselkedését jelöli, dynamic nem pedig egy adott .NET-típus közvetlen aliasát.
A void kulcsszó egy típus hiányát jelöli. Olyan metódus visszatérési típusaként használja, amely nem ad vissza értéket.
A C#-nyelv speciális szabályokat tartalmaz a típusokra és System.Span<T> a System.ReadOnlySpan<T> típusokra vonatkozóan. Ezek a típusok nincsenek beépített típusokként besorolva, mert nincsenek C#-kulcsszavak, amelyek megfelelnek ezeknek a típusoknak. A C# nyelv a tömbtípusok implicit konverzióit, a sztringtípust pedig a Span<T>következőre ReadOnlySpan<T> határozza meg: Ezek az átalakítások természetesebb programozási forgatókönyvekbe integrálják Span a típusokat. A következő konverziók implicit span konverzióként vannak definiálva:
- Bármely elemtípusú
Eegydimenziós tömbtől aSystem.Span<E> - Bármely elemtípusú
ESystem.ReadOnlySpan<U>egydimenziós tömbtől aEkovariancia-átalakításig vagy identitásátalakításigU -
System.Span<E>System.ReadOnlySpan<U>KovarianciakonvertálásEvagy identitáskonvertálás esetén aU -
System.ReadOnlySpan<E>System.ReadOnlySpan<U>KovarianciakonvertálásEvagy identitáskonvertálás esetén aU -
stringésSystem.ReadOnlySpan<char>között
A fordító soha nem hagyja figyelmen kívül a felhasználó által definiált konverziót, ha létezik egy alkalmazható implicit span konverzió . Implicit span konverziók alkalmazhatók a bővítménytagok fogadóparaméterére. A fogadó paramétert egy extension bővítménytag kulcsszója adja meg. A fogadó paraméter egy bővítménymetódus első paramétere a this módosító használatával. Az implicit span konverziók nem tekinthetők metóduscsoport-átalakításoknak.