Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C#-Typkonvertierung

C#-Typkonvertierung

In diesem Tutorial lernen wir die C#-Typkonvertierung und ihre Typen anhand von Beispielen kennen.

Der Prozess der Konvertierung des Werts eines Typs (int, float, double usw.) in einen anderen Typ wird als Typkonvertierung bezeichnet.

In C# gibt es zwei grundlegende Arten der Typkonvertierung:

  1. Implizite Typkonvertierungen
  2. Explizite Typumwandlungen

1. Implizite Typkonvertierung in C#

Bei der impliziten Typkonvertierung konvertiert der C#-Compiler automatisch einen Typ in einen anderen.

Im Allgemeinen kleinere Typen wie int (mit weniger Speichergröße) werden automatisch in größere Typen wie double konvertiert (mit größerer Speichergröße).

Beispiel:Implizite Typumwandlung

using System;

namespace MyApplication {
  class Program {
    static void Main(string[] args) {
      int numInt = 500;

      // get type of numInt
      Type n = numInt.GetType();

      // Implicit Conversion
      double numDouble = numInt;

      // get type of numDouble
      Type n1 = numDouble.GetType();

      // Value before conversion
      Console.WriteLine("numInt value: "+numInt);
      Console.WriteLine("numInt Type: " + n);

      // Value after conversion
      Console.WriteLine("numDouble value: "+numDouble);
      Console.WriteLine("numDouble Type: " + n1);
      Console.ReadLine();
    }
  }
}

Ausgabe

numInt value: 500
numInt Type: System.Int32
numDouble value: 500
numDouble Type: System.Double

Im obigen Beispiel haben wir einen int erstellt Geben Sie die Variable mit dem Namen numInt ein .

Beachten Sie die Zeile,

// Implicit Conversion
double numDouble = numInt;

Hier vergeben wir den int Typvariable zu einem double Variable eingeben. In diesem Fall konvertiert der C#-Compiler automatisch den int Geben Sie den Wert double ein .

Beachten Sie, dass wir den GetType() verwendet haben Methode, um den Typ von numInt zu überprüfen und numDouble Variablen.

Hinweis :Bei der impliziten Typkonvertierung werden kleinere Typen in größere Typen konvertiert. Daher gibt es keinen Datenverlust während der Konvertierung.


2. Explizite C#-Typkonvertierung

Bei der expliziten Typkonvertierung konvertieren wir explizit einen Typ in einen anderen.

Im Allgemeinen größere Typen wie double (mit großer Speichergröße) werden in kleinere Typen wie int konvertiert (mit kleiner Speichergröße).

Beispiel:Explizite Typumwandlung

using System;

namespace MyApplication {
  class Program {
    static void Main(string[] args) {

      double numDouble = 1.23;

      // Explicit casting
      int numInt = (int) numDouble;  

      // Value before conversion
      Console.WriteLine("Original double Value: "+numDouble);

      // Value before conversion
      Console.WriteLine("Converted int Value: "+numInt);
      Console.ReadLine();
    }
  }
}

Ausgabe

Original double value: 1.23
Converted int value: 1

Im obigen Beispiel haben wir einen double erstellt Variable namens numDouble . Beachten Sie die Zeile,

// Explicit casting
int numInt = (int) numDouble;

Hier, (int) ist ein Cast-Ausdruck das explizit den double umwandelt Geben Sie int ein Typ.

Wir können sehen, dass der ursprüngliche Wert 1,23 ist wohingegen der konvertierte Wert 1 ist . Hier gehen bei der Typkonvertierung einige Daten verloren. Dies liegt daran, dass wir explizit den größeren Datentyp double konvertieren zu einem kleineren Typ int .

Hinweis :Die explizite Typumwandlung wird auch als Typumwandlung bezeichnet.


C#-Typkonvertierung mit Parse()

In C# können wir auch den Parse() verwenden Methode zur Durchführung der Typumwandlung.

Im Allgemeinen während der Typkonvertierung zwischen nicht kompatiblen Typen wie int und string verwenden wir Parse() .

Beispiel:Typkonvertierung mit Parse()

using System;

namespace Conversion {
  class Program {
   
    static void Main(string[] args) {

      string n = "100";

      // converting string to int type
      int a = int.Parse(n);
      Console.WriteLine("Original string value: "+n);
      Console.WriteLine("Converted int value: "+a);
      Console.ReadLine();
    }
  }
}

Ausgabe

Original string value: 100
Converted int value: 100

Im obigen Beispiel haben wir einen string umgewandelt Typ zu einem int Typ.

// converting string to int type
int a = int.Parse(n);

Hier der Parse() -Methode konvertiert die numerische Zeichenfolge 100 in einen ganzzahligen Wert.

Hinweis :Wir können Parse() nicht verwenden um eine Textzeichenfolge wie "test" in einen int umzuwandeln . Zum Beispiel

String str = "test";
int a = int.Parse(str);   // Error Code

C#-Typkonvertierung mit Convert-Klasse

In C# können wir den Convert verwenden Klasse, um eine Typkonvertierung durchzuführen. Der Convert Klasse stellt verschiedene Methoden bereit, um einen Typ in einen anderen zu konvertieren.

Methode Beschreibung
ToBoolean() wandelt einen Typ in einen Boolean um Wert
ToChar() wandelt einen Typ in einen char um Typ
ToDouble() wandelt einen Typ in einen double um Typ
ToInt16() konvertiert einen Typ in einen 16-Bit int Typ
ToString() wandelt einen Typ in string um

Sehen wir uns einige Beispiele an:

Beispiel:Int in String und Double umwandeln

using System;

using System;
namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create int variable
      int num = 100;
      Console.WriteLine("int value: " + num);

      // convert int to string
      string str = Convert.ToString(num);
      Console.WriteLine("string value: " + str);

      // convert int to Double
      Double doubleNum = Convert.ToDouble(num);
      Console.WriteLine("Double value: " + doubleNum);

      Console.ReadLine();
    }
  }
}

Ausgabe

int value: 100
string value: 100
Double value: 100

Im obigen Beispiel


Beispiel:String in Double konvertieren und umgekehrt

using System;

namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create string variable
      string str = "99.99";
      Console.WriteLine("Original string value: " + str);

      // convert string to double
      Double newDouble = Convert.ToDouble(str);
      Console.WriteLine("Converted Double value: " + newDouble);

      // create double variable
      double num = 88.9;
      Console.WriteLine("Original double value: " + num);

      // converting double to string 
      string newString = Convert.ToString(num);
      Console.WriteLine("Converted string value: " + newString);

      Console.ReadLine();
    }
  }
}

Ausgabe

Original string value: 99.99
Converted Double value: 99.99
Original double value: 88.9
Converted string value: 88.9

Im obigen Beispiel


Beispiel 3:Int in Boolean umwandeln

using System;

namespace Conversion {
  class Program {
    static void Main(string[] args) {

      // create int variables
      int num1 = 0;
      int num2 = 1;

      // convert int to Boolean
      Boolean bool1 = Convert.ToBoolean(num1);
      Boolean bool2 = Convert.ToBoolean(num2);

      Console.WriteLine("Boolean value of 0 is: " + bool1);
      Console.WriteLine("Boolean value of 1 is: " + bool2);

      Console.ReadLine();
    }
  }
}

Ausgabe

Boolean value of 0 is: False
Boolean value of 1 is: True

Im obigen Beispiel haben wir zwei Integer-Variablen erstellt:num1 und num2 mit Werten 0 und 1 beziehungsweise. Hier,

Hinweis :In C# der ganzzahlige Wert 0 wird als False angesehen und alle anderen Werte gelten als True .


C Sprache

  1. Python-Typkonvertierung und Typumwandlung
  2. Python-Zahlen, Typumwandlung und Mathematik
  3. Java-Type-Casting
  4. Java - Generika
  5. ASTM A1018 Klasse CS Typ B
  6. ASTM A424 Klasse Typ II
  7. ASTM A424 Klasse Typ I
  8. ASTM A792 Klasse CS Typ A
  9. ASTM A53 Klasse A Typ E
  10. ASTM A53 Klasse A Typ S