C # - konwersja typów
Konwersja typu to konwersja jednego typu danych na inny typ. Jest również znany jako rzutowanie typów. W języku C # rzutowanie typów ma dwie formy -
Implicit type conversion- Te konwersje są wykonywane przez C # w sposób bezpieczny dla typu. Na przykład to konwersje z mniejszych na większe typy całkowite i konwersje z klas pochodnych do klas podstawowych.
Explicit type conversion- Te konwersje są wykonywane jawnie przez użytkowników przy użyciu wstępnie zdefiniowanych funkcji. Jawne konwersje wymagają operatora rzutowania.
Poniższy przykład przedstawia jawną konwersję typu -
using System;
namespace TypeConversionApplication {
class ExplicitConversion {
static void Main(string[] args) {
double d = 5673.74;
int i;
// cast double to int.
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -
5673
Metody konwersji typu C #
C # udostępnia następujące wbudowane metody konwersji typu -
Sr.No. | Metody i opis |
---|---|
1 | ToBoolean Jeśli to możliwe, konwertuje typ na wartość logiczną. |
2 | ToByte Konwertuje typ na bajt. |
3 | ToChar Jeśli to możliwe, konwertuje typ na pojedynczy znak Unicode. |
4 | ToDateTime Konwertuje typ (typ całkowity lub łańcuchowy) na struktury daty i godziny. |
5 | ToDecimal Konwertuje typ zmiennoprzecinkowy lub całkowity na typ dziesiętny. |
6 | ToDouble Konwertuje typ na typ podwójny. |
7 | ToInt16 Konwertuje typ na 16-bitową liczbę całkowitą. |
8 | ToInt32 Konwertuje typ na 32-bitową liczbę całkowitą. |
9 | ToInt64 Konwertuje typ na 64-bitową liczbę całkowitą. |
10 | ToSbyte Konwertuje typ na podpisany typ bajtu. |
11 | ToSingle Konwertuje typ na małą liczbę zmiennoprzecinkową. |
12 | ToString Konwertuje typ na ciąg. |
13 | ToType Konwertuje typ na określony typ. |
14 | ToUInt16 Konwertuje typ na typ int bez znaku. |
15 | ToUInt32 Konwertuje typ na długi typ bez znaku. |
16 | ToUInt64 Konwertuje typ na dużą liczbę całkowitą bez znaku. |
Poniższy przykład konwertuje różne typy wartości na typ ciągu -
using System;
namespace TypeConversionApplication {
class StringConversion {
static void Main(string[] args) {
int i = 75;
float f = 53.005f;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -
75
53.005
2345.7652
True