THEMA
    about_Type_Operators

KURZBESCHREIBUNG
    Beschreibt die Operatoren, die mit Microsoft .NET Framework-Typen 
    verwendet werden können.

DETAILBESCHREIBUNG
    Die booleschen Typoperatoren (-is und -isnot) geben an, ob ein 
    Objekt eine Instanz eines angegebenen .NET Framework-Typs ist. 
    Der Operator "-is" gibt den Wert TRUE zurück, wenn der Typ 
    übereinstimmt; andernfalls wird FALSE zurückgegeben. Der Operator 
    "-isnot" gibt den Wert FALSE zurück, wenn der Typ übereinstimmt; 
    andernfalls wird TRUE zurückgegeben.
 

    Der Operator "-as" versucht, das Eingabeobjekt in den angegebenen 
    .NET Framework-Typ zu konvertieren. Wenn dies erfolgreich ist, 
    wird das konvertierte Objekt zurückgegeben. Andernfalls erfolgt 
    keine Rückgabe. Es wird kein Fehler zurückgegeben.


    In der folgenden Tabelle sind die Typoperatoren in Windows 
    PowerShell aufgeführt.


    Operator  Beschreibung                 Beispiel  
    --------  ------------------------    --------------
    -is       Gibt TRUE zurück, wenn      C:\PS> (get-date) -is [datetime]  
              die Eingabe eine Instanz    True
              des angegebenen 
              .NET Framework-Typs ist.       

    -isnot    Gibt TRUE zurück, wenn      C:\PS> (get-date) -isnot [datetime]
              die Eingabe keine Instanz   False
              des angegebenen 
              .NET Framework-Typs ist.       
 
    -as       Konvertiert die Eingabe     C:\PS> 31.12.07 -as [datetime]
              in den angegebenen          Montag, 31. Dezember 2007 00:00:00
              .NET Framework-Typ.        


    Typoperatoren weisen die folgende Syntax auf:

        <Eingabe> <Operator> [.NET-Typ]

    Sie können auch folgende Syntax verwenden:

        <Eingabe> <Operator> ".NET-Typ"
 

    Schließen Sie den Typnamen in Klammern ein ([ ]), oder geben Sie 
    den Typ als Zeichenfolge ein, beispielsweise [DateTime] oder 
    "datetime" für System.DateTime, um den .NET Framework-Typ 
    anzugeben. Geben Sie den vollständigen Namen des Objekttyps an, 
    wenn sich der Typ nicht am Stamm des Systemnamespaces befindet. 
    "System" muss nicht angegeben werden. Um beispielsweise 
    "System.Diagnostics.Process" anzugeben, geben Sie [System.Diagnost
    ics.Process], [Diagnostics.Process] oder "diagnostics.process" ein. 

    Die Typoperatoren geben immer einen booleschen Wert zurück, auch 
    wenn die Eingabe eine Auflistung von Objekten ist. Wenn die 
    Eingabe jedoch eine Auflistung darstellt, stimmen die 
    Typoperatoren mit dem .NET Framework-Typ der Auflistung überein. 
    Auch wenn alle Objekte den gleichen Typ aufweisen, stimmen sie 
    nicht mit dem Typ aller Objekte überein.

    Um den .NET Framework-Typ eines Objekts zu suchen, verwenden Sie 
    das Cmdlet "Get-Member". Sie können auch die GetType-Methode 
    aller Objekte mit der FullName-Eigenschaft dieser Methode 
    verwenden. Die folgende Anweisung ruft beispielsweise den Typ des 
    Rückgabewerts eines Get-Culture-Befehls ab:

        C:\PS> (get-culture).gettype().fullname
        System.Globalization.CultureInfo
 

BEISPIELE
    In den folgenden Beispielen werden einige Verwendungsmöglichkeiten
    für Typoperatoren veranschaulicht:

        C:\PS> 32 -is [Float]
        False

        C:\PS> 32 -is "int"
        True

        C:\PS> (get-date) -is [DateTime]
        True

        C:\PS> "31.12.2007" -is [DateTime]
        False

        C:\PS> "31.12.2007" -is [String]
        True

        C:\PS> (get-process powershell)[0] -is [System.Diagnostics.Process]
        True

        C:\PS> (get-command get-member) -is [System.Management.Automation.CmdletInfo]
        True
 

    Im folgenden Beispiel wird gezeigt, dass der entsprechende Typ 
    der .NET Framework-Typ der Auflistung und nicht der Typ der 
    einzelnen Objekte in der Auflistung ist, wenn die Eingabe eine 
    Auflistung von Objekten darstellt.

    In diesem Beispiel stellt eine Auflistung dieser Objekte ein 
    System.Object-Array dar, auch wenn das Cmdlet "Get-Culture" und 
    das Cmdlet "Get-UICulture" System.Globalization.CultureInfo-Objekt
    e zurückgeben.

        C:\PS> (get-culture) -is [System.Globalization.CultureInfo]
        True

        C:\PS> (get-uiculture) -is [System.Globalization.CultureInfo]
        True

        C:\PS> (get-culture), (get-uiculture) -is [System.Globalization.CultureInfo]
        False

        C:\PS> (get-culture), (get-uiculture) -is [Array]
        True
 
        C:\PS> (get-culture), (get-uiculture) | foreach {$_ -is [System.Globalization.CultureInfo])
        True
        True

        C:\PS> (get-culture), (get-uiculture) -is [Object]
        True
 

    In den folgenden Beispielen wird die Verwendung des Operators 
    "-as" veranschaulicht.

        C:\PS> "31.12.07" -is [datetime]
        False

        C:\PS> "31.12.07" -as [datetime]
        Montag, 31. Dezember 2007 00:00:00

        C:\PS> $date = "31.12.07" -as [datetime]

        C:\PS>$a -is [datetime]
        True

        C:\PS> 1031 -as [System.Globalization.CultureInfo]

        LCID             Name             DisplayName
        ----             ----             -----------
        1031             de-DE            Deutsch (Deutschland)

    Im folgenden Beispiel wird gezeigt, dass keine Rückgabe erfolgt, 
    wenn das Eingabeobjekt vom Operator "-as" nicht in den .NET 
    Framework-Typ konvertiert werden kann.


        C:\PS> 1031 -as [System.Diagnostic.Process]
        C:\PS>
 

SIEHE AUCH
    about_Operators




Inhaltsverzeichnis