PowerShell HelpFile - about_type_operators
 記事記号:[me1591] 初版:2011/May/10

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

トピック
    about_Type_Operators

簡易説明
    Microsoft .NET Framework の型が使用される演算子について説明します。

詳細説明
    ブール型の演算子 (-is および -isnot) は、オブジェクトが特定の  .NET Framewor
    k 型のインスタンスであるかどうかを評価します。-is 演算子は、型が一致した場合
    に、TRUE を返します。それ以外の場合は、FALSE を返します。-isnot 演算子は、型
    が一致した場合に、FALSE を返します。それ以外の場合は、TRUE を返します。
 

    -as 演算子は、入力されたオブジェクトを指定の .NET Framework 型に変換しようと
     試みます。成功した場合は、変換後のオブジェクトを返します。失敗した場合は何
     も返しません。エラーは返されません。


    次の表は、Windows PowerShell の型演算子の一覧です。


    演算子    説明                             例
    --------  ------------------------         --------------
    -is	      入力内容が、指定された 	       C:\PS> (get-date) -is [datetime]
	      .NET Framework 型のインス	       True
	      タンスである場合に TRUE 
	      を返します。

    -isnot    入力内容が、指定された 	       C:\PS> (get-date) -isnot [datetim
	      .NET Framework 型のインスタ      e] False
	      ンスでない場合に TRUE 
	      を返します。
 
    -as	      入力内容を指定された 	       C:\PS> 12/31/07 -as [datetime]
	      .NET Framework 型に変換します。  Monday, December 31, 2007 12:00:0
                                               0 AM


    型演算子の構文は次のとおりです。

        <input> <operator> [.NET type]

    次の構文を使用することもできます。

        <input> <operator> ".NET type"
 

    .NET Framework 型を指定するには、型名を角かっこ ([ ]) で囲むか、型を文字列と
    して入力します。たとえば、System.DateTime であれば、「[DateTime]」または「"d
    atetime"」のように入力します。型が system 名前空間のルートに存在しない場合は、
    オブジェクトの型をフル ネームで指定します。"System." は省略できます。たとえば、
    System.Diagnostics.Process を指定する場合、「[System.Diagnostics.Process]」、
    「[Diagnostics.Process]」、「"diagnostics.process"」のように入力します。

    型演算子は常にブール値を返します。オブジェクトのコレクションを入力として渡し
    た場合も同様です。ただし、入力がコレクションの場合、比較の対象は、コレクショ
    ンの .NET Framework 型です。すべてのオブジェクトが同じ型であったとしても、個
    々のオブジェクトの型が比較されるわけではありません。

    オブジェクトの .NET Framework 型を探すには、Get-Member コマンドレットを使用
    します。また、すべてのオブジェクトが備えている GetType メソッドに、その Ful
    lName プロパティを組み合わせて使用する方法もあります。たとえば、次のステート
    メントでは、Get-Culture コマンドの戻り値の型を取得します。

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

例
    次の例は、型演算子の用法をいくつか示しています。

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

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

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

        C:\PS> "12/31/2007" -is [DateTime]
        False

        C:\PS> "12/31/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.Cmdlet
        Info]
        True
 

    次の例を見ると、入力としてオブジェクトのコレクションを渡した場合、比較の対象
    になる型は、コレクションの .NET Framework 型であって、コレクション内の個々の
    オブジェクトの型ではないことがわかります。

    この例では、Get-Culture と Get-UICulture のどちらのコマンドレットも System.G
    lobalization.CultureInfo オブジェクトを返しますが、これらのオブジェクトのコレ
    クションは System.Object の配列です。

        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.CultureI
        nfo]
        False

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

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

    次の例は、-as 演算子を使用する方法を示しています。

        C:\PS> "12/31/07" -is [datetime]
        False

        C:\PS> "12/31/07" -as [datetime]
        Monday, December 31, 2007 12:00:00 AM

        C:\PS> $date = "12/31/07" -as [datetime]

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

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

        LCID             Name             DisplayName
        ----             ----             -----------
        1031             de-DE            German (Germany)

    次の例を見ると、-as 演算子は、入力されたオブジェクトを .NET Framework 型に変
    換できない場合、何も返さないことがわかります。


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

関連項目
    about_Operators
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、HelpFile、about_type_operators
ご利用数: 1975156
感想・要望・問い合わせは こちら