PS>Get-Variable arr* | Remove-Variable PS> PS>#配列を作る PS>$arr = @(1,2,3) PS>$arr.count 3 PS>Write-Host $arr 1 2 3 PS># @( )は省略してもよい PS>$arr = 1,2,3 PS>Write-Host $arr 1 2 3 PS>#範囲演算子を使った指定 PS>$arr = 1..4 PS>Write-Host $arr 1 2 3 4 PS>#空の配列 PS>$arr = @() PS>$arr.Count 0 PS> PS>#型指定した配列を作る PS>[int[]]$arr = 1,2,3 PS>#これはエラー PS>$arr += "a" 値 "a" を型 "System.Int32" に変換できません。エラー: "入力文字列の形式 発生場所 行:1 文字:5 + $arr <<<< += "a" + CategoryInfo : MetadataError: (:) []、ArgumentTransfor + FullyQualifiedErrorId : RuntimeException PS># 特定サイズの配列を作る PS>Remove-Variable arr PS>$arr = New-Object object[] 3 PS>$arr.Count 3 PS> PS>#配列の加算 PS>$arr1 = 1..3 ; $arr2 = 4..6 ; Write-Host ($arr1 + $arr2) 1 2 3 4 5 6 PS>Write-Host (1..3+4..6) 1 2 3 4 5 6 PS> PS>#多次元配列 PS>$arrMulti = New-Object "int[,]" 2,3 PS>$arrMulti.Count 6 PS> PS>#多段階(ジャグ)配列 PS>$arrJag = @((New-Object int[] 2) , (New-Object int[] 3)) PS>$arrJag[1][2] = 5 PS>Write-Host $arrJag 0 0 0 0 5 PS> PS>#配列要素の削除 PS>$arr = 1,2,3 PS>[Array]::Clear($arr,0,1) PS>Write-Host $arr 2 3 PS>#配列要素の順番を調べる PS>[Array]::IndexOf($arr,3) 2 PS>#配列をソートする PS>$arr = 3,4,2,1,5 PS>[Array]::Sort($arr) PS>Write-Host $arr 1 2 3 4 5 PS> PS>#配列要素に対する演算 PS>$a = 1,2,3 PS>$a[2] -= 1 PS>$a 1 2 2 PS>#配列要素の削除 PS>$a = 1,2,3 PS>$a[1] = $null PS>$a 1 3 PS>#連想配列のソート PS>$hashtbl = @{k1 = 3;k2 = 1; k3=2} PS>$hashtbl.GetEnumerator() | sort value Name Value ---- ----- k2 1 k3 2 k1 3 PS>#配列要素を逆順に PS>$a = 1,2,3 PS>[array]::Reverse($a) PS>$a 3 2 1
PS>#配列要素の削除 PS>$a = 1,2,3,4 PS>$array = [Collections.ArrayList]$a PS>$array.RemoveAt(2) PS>$a = $array.ToArray() PS>$a.Length 3 |
PowerShell 配列
返信削除でググったどのサイトよりも情報が豊富で分かりやすく、助かりました。
またお邪魔します