PowerShellコマンドレット虎の巻
HOME > PowerShell基礎 > データ型

データ型

PowerShellのデータ型についてです。

データ型の種類

PowerShellのデータ型は、.NETフレームワークに基づいたデータ型をサポートしています。
データ型は大きく分けて、値型と参照型の2つに分類されます。

値型

【値型】
説明
[int] または [System.Int32]32ビットの符号付き整数を表します。
(例)123
[long] または [System.Int64]64ビットの符号付き整数を表します。
(例)1234567890123
[bool] または [System.Boolean]真偽値を表します。
(例)$true, $false
[char] または [System.Char]単一のUnicode文字を表します。
(例)'A'
[float] または [System.Single]単精度浮動小数点数を表します。
(例)3.14
[double] または [System.Double]倍精度浮動小数点数を表します。
(例)3.14159265358979
[decimal] または [System.Decimal]高精度の10進数を表し、主に金融計算に使用されます。
(例)19.98

参照型

【参照型】
説明
[string]文字列を表します。
(例)"Hello, World!"
[object]すべての.NETオブジェクトの基本型です。
配列 (Array)固定サイズの、0から始まる順序付きの要素のコレクションです。
(例)@(1, 2, 3)
[System.Collections.ArrayList]実行時にサイズを変更できる動的配列です。
[System.Collections.Hashtable]一意のキーでアクセスできるキーと値のペアのコレクションです。

データ型の確認

データ型を確認するには、.GetType()メソッドを使用します。

変数の型名を確認する

$x = 10 Write-Host $x.GetType().FullName ⇒ System.Int32

データ型のキャスト

データ型をキャスト(型変換)することできます。
型キャストを行う時は変数の前にキャストしたい型を指定します。

また、PowerShellが自動的にデータ型を変換する「暗黙的キャスト」と、
開発者が明示的に型を指定する「明示的キャスト」があります。

暗黙的キャストの例

[int]$intVal = 10.4 Write-Host $intVal ⇒ 10

明示的キャストの例

# 数値型⇒文字型 [string]$str = [string]42 # 文字型⇒数値型 [int]$num = [int]"42" # 文字型⇒日付型 [string]$dateStr = "2024-08-16" [DateTime]$date = [DateTime]$dateStr Write-Host $date ⇒ 2024年8月16日

型キャストの演算子

型キャスト時に便利な演算子が用意されています。

【型キャスト演算子】
演算子説明
-isオブジェクトが特定の型であるかを確認する
-isnotオブジェクトが特定の型でないかを確認する
-asオブジェクトを特定の型にキャストする

型キャスト演算子の例

# "str"がstring型かどうか判定する "str" -is [string] ⇒ True # Get-Dateの結果がDateTime型でないか判定する (get-date) -isnot [DateTime] ⇒ False # "24/12/31"をDateTime型に変換する "24/12/31" -as [DateTime] ⇒ 2024年12月31日

備考

  • 型キャストで変換できない型を指定した場合は、例外が発生します。

関連項目