C# Tipe Casting
C# Tipe Casting
Tipe uitsaai is wanneer jy 'n waarde van een datatipe aan 'n ander tipe toewys.
In C# is daar twee tipes casting:
- Implisiete giet (outomaties) - omskakeling van 'n kleiner tipe na 'n groter tipe grootte
char
->int
->long
->float
->double
- Eksplisiete giet (handmatig) - omskakeling van 'n groter tipe na 'n kleiner grootte tipe
double
->float
->long
->int
->char
Implisiete rolverdeling
Implisiete gietwerk word outomaties gedoen wanneer 'n kleiner grootte tipe na 'n groter grootte tipe oorgedra word:
Voorbeeld
int myInt = 9;
double myDouble = myInt; // Automatic casting: int to double
Console.WriteLine(myInt); // Outputs 9
Console.WriteLine(myDouble); // Outputs 9
Eksplisiete rolverdeling
Eksplisiete uitsaai moet met die hand gedoen word deur die tipe tussen hakies voor die waarde te plaas:
Voorbeeld
double myDouble = 9.78;
int myInt = (int) myDouble; // Manual casting: double to int
Console.WriteLine(myDouble); // Outputs 9.78
Console.WriteLine(myInt); // Outputs 9
Tik Omskakelingsmetodes
Dit is ook moontlik om datatipes eksplisiet om te skakel deur ingeboude metodes te gebruik, soos Convert.ToBoolean
, Convert.ToDouble
, Convert.ToString
, Convert.ToInt32
( int
) en Convert.ToInt64
( long
):
Voorbeeld
int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt)); // convert int to string
Console.WriteLine(Convert.ToDouble(myInt)); // convert int to double
Console.WriteLine(Convert.ToInt32(myDouble)); // convert double to int
Console.WriteLine(Convert.ToString(myBool)); // convert bool to string
Hoekom Omskakeling?
Baie keer is dit nie nodig vir tipe omskakeling nie. Maar soms moet jy. Kyk na die volgende hoofstuk, wanneer u met gebruikersinvoer werk , om 'n voorbeeld hiervan te sien.