Typkonvertierung
Eintrag zuletzt aktualisiert am: 28.06.2017
Typkonvertierung (Typumwandlung, engl. Type Cast) bezeichnet man die Umwandlung einer Information, die in einem Datentyp vorliegt, in einen anderen Datentyp.
Typkonvertierung in der PowerShell
Die
PowerShell-Skriptsprache ist bei der Typumwandlung sehr viel tolleranter als viele andere
.NET-basierten
Programmiersprachen und nimmt viele Typkonvertierungen automatisch vor.
Das folgende Listing zeigt, dass
- die PowerShell die gebrochene Zahl 5.1 automatisch in eine Ganzzahl wandelt
- auch dann, wenn sie in einer Zeichenkette steht
- man die Konvertierung explizit mit vorangestelltem [Typbezeichner] deklarieren kann
- man die Konvertierung auch mit nachgestellten -as [Typbezeichner] deklarieren kann
- die PowerShell $true in die Zahl 1 wandelt
- die PowerShell $false in die Zahl 0 wandelt
- die PowerShell eine Zeichenkette, die aus Buchstaben und Zahlen besteht nicht umwandeln kann. Im Standard kommt es zum Fehler.
- bei der Umwandlung einer Zeichenkette mit Buchstaben und Zahlen mit Hilfe des Operators -as das Ergebnis 0 ist
[int] $x = 1.23
$x # Ausgabe: 1
$x = "2.34"
$x # 2
$x = [Int] "3.45"
$x # 3
$x = 4.56 -as [Int]
$x # 4
$a = $false
$x = $a -as [Int]
$x # 0, weil $true = 1, während $false = 0
$a = $true
$x = $a -as [Int]
$x # 1, weil $true = 1, während $false = 0
$x = "Nummer 1" # Fehler: Der Wert "Nummer 1" kann nicht in den Typ "System.Int32" konvertiert werden.
$x # immer noch: 1
$x = [Int] "Nummer 1" #Fehler: Der Wert "Nummer 1" kann nicht in den Typ "System.Int32" konvertiert werden.
$x # immer noch: 1
$x = "Nummer 1" -as [Int] # Kein Fehler, liefert 0
$x # 0