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