Typkonvertierung

Eintrag zuletzt aktualisiert am: 28.06.2017

 Fachbücher zum Thema Typkonvertierung

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