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:
- Implizite Typkonvertierungen
- 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
- Convert.ToString(a) - konvertiert einen
int
geben Sie Zahl ein zustring
- Convert.ToDouble(a) - konvertiert num zum
Double
eingeben
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
- Convert.ToDouble(str) - konvertiert einen
string
geben Sie str ein bisDouble
- Convert.ToString(num) - konvertiert einen
double
geben Sie Zahl ein zumstring
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,
- Convert.ToBoolean(num1) - konvertiert 0 zu einem
Boolean
WertFalse
- Convert.ToBoolean(num2) - konvertiert 1 zu einem
Boolean
WertTrue
Hinweis :In C# der ganzzahlige Wert 0 wird als False
angesehen und alle anderen Werte gelten als True
.
C Sprache