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