Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Následující tabulka uvádí vestavěné hodnotové typy jazyka C#.
V následující tabulce jsou uvedeny předdefinované referenční typy jazyka C#:
| Klíčové slovo typu C# | Typ .NET |
|---|---|
object |
System.Object |
string |
System.String |
delegate |
System.Delegate |
dynamic |
System.Object |
V předchozích tabulkách jsou většina klíčových slov typu C# z levého sloupce aliasy pro odpovídající typ .NET. Jsou zaměnitelné. Například následující deklarace deklarují proměnné stejného typu:
int a = 123;
System.Int32 b = 123;
Typ dynamic je podobný object. Hlavní rozdíly jsou:
- Operace s výrazem
dynamicjsou vázané za běhu, nikoli v době kompilace. - Nemůžete použít
new dynamic(). - Typ nelze odvodit z typu
dynamic.
Klíčové delegate slovo je předdefinované referenční typ klíčové slovo, které deklaruje typ odvozený z System.Delegate. Na rozdíl od ostatních předdefinovaných klíčových slov delegate typu není alias pro konkrétní typ .NET. Místo toho deklaruje vlastní typy, které jsou odvozeny od abstraktního System.Delegate typu.
dynamic Podobně představuje chování vazby modulu runtime místo přímého aliasu pro konkrétní typ .NET.
Klíčové slovo void představuje nepřítomnost typu. Použijete ho jako návratový typ metody, která nevrací hodnotu.
Jazyk C# obsahuje specializovaná pravidla pro typy System.Span<T> a System.ReadOnlySpan<T>. Tyto typy nejsou klasifikovány jako předdefinované typy, protože neexistují klíčová slova jazyka C#, která odpovídají těmto typům. V jazyce C# jsou implicitně definovány převody z typů pole a řetězce na Span<T> a ReadOnlySpan<T>. Tyto převody integrují typy Span do přirozenějších programovacích scénářů. Následující konverze jsou definovány jako implicitní konverze rozsahu :
- Z libovolného jednorozměrného pole s typem elementu
EnaSystem.Span<E> - Z libovolného jednorozměrného pole s typem elementu
EnaSystem.ReadOnlySpan<U>, pokudEmá převod kovariance nebo převod identity naU - Od
System.Span<E>poSystem.ReadOnlySpan<U>pokud máEkovarianční nebo identitní převod naU - Od
System.ReadOnlySpan<E>poSystem.ReadOnlySpan<U>pokud máEkovarianční nebo identitní převod naU - Z
stringdoSystem.ReadOnlySpan<char>
Kompilátor nikdy nepřekočí žádný převod definovaný uživatelem, pokud existuje použitelný implicitní převod rozsahu. Implicitní převody rozsahu lze použít u parametru příjemce členů rozšíření. Parametr příjemce je určen klíčovým slovem extension v členu rozšíření. Parametr přijímače je prvním parametrem metody rozšíření pomocí modifikátoru this . Implicitní převody rozsahu se nepovažují za převody skupin metod.