Typy hodnot (C#-Reference)
Typy hodnot se skládá ze dvou hlavních kategorií:
Struktur se dělí do těchto kategorií:
Číselné typy
Struktury definované uživatelem.
Hlavní funkce hodnotové typy
Proměnné, které jsou založeny na typy hodnot přímo obsahují hodnoty.Přiřazení jednu proměnnou typu hodnoty jiné kopie obsahuje hodnotu.Tím se liší od přiřazení proměnné referenčního typu, které zkopíruje odkaz na objekt, ale nikoli samotný objekt.
Všechny hodnotové typy jsou implicitně odvozena z System.ValueType.
Na rozdíl od odkazové typy nelze odvodit nový typ z typu hodnoty.Nicméně jako referenční typy struktur lze implementovat rozhraní.
Na rozdíl od referenční typy nemohou obsahovat typ hodnoty null hodnotu.Nicméně typy s možnou hodnotou Null povolit funkci pro typy hodnot přiřadit null.
Každý typ hodnotu má implicitní výchozí konstruktor, který inicializuje výchozí hodnota tohoto typu.Informace o výchozích hodnotách hodnotové typy, viz Výchozí hodnoty tabulka.
Hlavní funkce jednoduché typy
Všechny jednoduché typy--ty integrál jazyka C#--jsou aliasy typů rozhraní.NET Framework systému.Například int je alias pro System.Int32.Úplný seznam aliasů naleznete v Předdefinované typy (C#-Reference).
Konstantní výrazy, jejichž operandy jsou všechny konstanty jednoduchý typ, jsou vyhodnocovány v době kompilace.
Jednoduché typy mohou být inicializovány pomocí literálů.Například 'A' je literál typu char a 2001 je literál typu int.
Inicializace hodnotové typy
Před použitím je nutné inicializovat místní proměnné v jazyce C#.Například může deklarovat proměnnou místní bez inicializace jako v následujícím příkladu:
int myInt;
Nelze ji použít před její inicializaci.Můžete inicializovat pomocí následujícího příkazu:
myInt = new int(); // Invoke default constructor for int type.
Tento příkaz je ekvivalentní následující příkaz:
myInt = 0; // Assign an initial value, 0 in this example.
Samozřejmě můžete mít prohlášení a inicializace stejný příkaz jako v následujících příkladech:
int myInt = new int();
– nebo –
int myInt = 0;
Použití nové operátor volání výchozího konstruktoru určitého typu a přiřadí výchozí hodnotu proměnné.V předchozím příkladu výchozí konstruktor přiřazena hodnota 0 na myInt.Další informace o hodnotách, které jsou přiřazeny voláním výchozí konstruktory, viz Výchozí hodnoty tabulka.
Pomocí uživatelem definovaných typů nové vyvolat výchozí konstruktor.Například následující příkaz spustí výchozí konstruktor Point struktury:
Point p = new Point(); // Invoke default constructor for the struct.
Po tomto volání struct považován za jednoznačně přiřazeny; všechny členy, jsou inicializovány na jejich výchozí hodnoty.
Další informace o operátor new viz nové.
Informace o formátování výstupu číselné typy, viz Formátování tabulky číselné výsledky.