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日
備考
- 型キャストで変換できない型を指定した場合は、例外が発生します。
関連項目
- PowerShell基礎
- 演算子:PowerShellの演算子についてです
- データ型:PowerShellのデータ型についてです
- 自動変数:PowerShellの自動変数についてです