- PowerShell 教程
- PowerShell - 首頁
- PowerShell - 概述
- PowerShell - 環境設定
- PowerShell - Cmdlet
- PowerShell - 檔案和資料夾
- PowerShell - 日期和時間
- PowerShell - 檔案 I/O
- PowerShell - 高階 Cmdlet
- PowerShell - 指令碼
- PowerShell - 特殊變數
- PowerShell - 運算子
- PowerShell - 迴圈
- PowerShell - 條件語句
- PowerShell - 陣列
- PowerShell - 雜湊表
- PowerShell - 正則表示式
- PowerShell - 反引號
- PowerShell - 方括號
- PowerShell - 別名
- PowerShell 有用資源
- PowerShell - 快速指南
- PowerShell - 有用資源
- PowerShell - 討論
PowerShell - 陣列
PowerShell 提供了一種資料結構,即陣列,它儲存固定大小的任何型別的元素的順序集合。陣列用於儲存資料集合,但通常將其視為變數或物件的集合更有用。
與其宣告單獨的變數,例如 number0、number1、... 和 number99,不如宣告一個數組變數,例如 numbers,並使用 numbers[0]、numbers[1] 和 ...、numbers[99] 來表示單個變數。
本教程介紹如何宣告陣列變數、建立陣列以及使用索引變數處理陣列。
宣告陣列變數
要在程式中使用陣列,必須宣告一個變數來引用該陣列,並且可以指定該變數可以引用的陣列型別。以下是宣告陣列變數的語法:
語法
$A = 1, 2, 3, 4 or $A = 1..4
注意 - 預設情況下,陣列物件的型別為 System.Object。GetType() 方法返回陣列的型別。可以傳遞型別。
示例
以下程式碼片段是此語法的示例:
[int32[]]$intA = 1500,2230,3350,4000 $A = 1, 2, 3, 4 $A.getType()
這將產生以下結果:
輸出
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
陣列元素透過索引訪問。陣列索引是基於 0 的;也就是說,它們從 0 開始到arrayRefVar.length-1。
示例
以下語句宣告一個數組變數 myList,建立一個包含 10 個雙精度型別元素的陣列,並將它的引用分配給 myList:
$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123
下圖表示陣列 myList。這裡,myList 包含十個雙精度值,索引從 0 到 9。
處理陣列
在處理陣列元素時,我們通常使用for迴圈或foreach迴圈,因為陣列中的所有元素都是同一型別,並且陣列的大小是已知的。
示例
這是一個完整的示例,展示瞭如何建立、初始化和處理陣列:
$myList = 5.6, 4.5, 3.3, 13.2, 4.0, 34.33, 34.0, 45.45, 99.993, 11123
write-host("Print all the array elements")
$myList
write-host("Get the length of array")
$myList.Length
write-host("Get Second element of array")
$myList[1]
write-host("Get partial array")
$subList = $myList[1..3]
write-host("print subList")
$subList
write-host("using for loop")
for ($i = 0; $i -le ($myList.length - 1); $i += 1) {
$myList[$i]
}
write-host("using forEach Loop")
foreach ($element in $myList) {
$element
}
write-host("using while Loop")
$i = 0
while($i -lt 4) {
$myList[$i];
$i++
}
write-host("Assign values")
$myList[1] = 10
$myList
這將產生以下結果:
輸出
Print all the array elements 5.6 4.5 3.3 13.2 4 34.33 34 45.45 99.993 11123 Get the length of array 10 Get Second element of array 4.5 Get partial array print subList 4.5 3.3 13.2 using for loop 5.6 4.5 3.3 13.2 4 34.33 34 45.45 99.993 11123 using forEach Loop 5.6 4.5 3.3 13.2 4 34.33 34 45.45 99.993 11123 using while Loop 5.6 4.5 3.3 13.2 Assign values 5.6 10 3.3 13.2 4 34.33 34 45.45 99.993 11123
陣列方法示例
這是一個完整的示例,展示了使用其方法對陣列進行操作。
$myList = @(0..4)
write-host("Print array")
$myList
$myList = @(0..4)
write-host("Assign values")
$myList[1] = 10
$myList
這將產生以下結果:
輸出
Clear array Print array 0 1 2 3 4 Assign values 0 10 2 3 4
廣告