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.