HOWTO · PowerShell

在 PowerShell 中如何將物件添加到物件陣列中

本教學將教你如何在 PowerShell 中將物件添加到物件數組中。

本頁內容

PowerShell,憑藉其靈活的腳本功能,使用戶能夠有效地操作對象數組。將對象添加到數組是一個常見的操作,實現這一點的方法有很多。

數組是一種數據結構,用於存儲多個項目的集合。

在 PowerShell 中,數組可以包含一個或多個項目。這些項目可以是相同或不同類型的。

它們可以是字符串、整數、對象,甚至是另一個數組。單個數組可以包含這些項目的任何組合。

每個項目都存儲在索引號中,索引號從零開始。第一個項目存儲在 0,第二個項目存儲在 1,第三個項目存儲在 2,依此類推。

對象數組是一組對象。本教程將教您如何在 PowerShell 中將對象添加到對象數組中。

這裡有一個創建包含 Name 和 Age 對象的數組 $data 的示例。

$data = @(
    [pscustomobject]@{Name = 'Rohan'; Age = '21' }
    [pscustomobject]@{Name = 'John'; Age = '30' }
)

在 PowerShell 中使用 += 運算符將對象添加到對象數組

+= 運算符是一種將元素添加到 PowerShell 數組的簡單方法。它的工作原理是創建一個具有附加元素的新數組。

加等於 += 用於將項目添加到數組。每次使用它時,它都會複製並創建一個新數組。

您可以使用 += 將對象添加到 PowerShell 的對象數組中。

以下示例添加對象數組 $data。

$data += [pscustomobject]@{Name = 'Sam'; Age = '26' }

現在,檢查 $data 的元素。

$data

輸出:

Name  Age
----  ---
Rohan 21
John  30
Sam   26

您可以通過將索引號用方括號括起來來訪問數組中的對象。

例如:

$data[2]

輸出:

Name Age
---- ---
Sam  26

如下所示,可以通過指定屬性來訪問單個對象。

$data[2].Name

輸出:

Sam
注意
雖然這種方法方便,但是對於大數組來說可能效率較低,因為每次添加元素時都會創建一個新數組。

使用 += 運算符將對象添加到數組的例子

要將多個元素添加到數組,+= 運算符可以與另一個數組結合使用。

示例代碼:

# Existing array
$array = @(1, 2, 3)

# Array of new elements
$newElements = @(4, 5, 6)

# Add new elements to the existing array
$array += $newElements

# Display the updated array
$array

輸出:

1
2
3
4
5
6

在這個示例中,我們有一個現有的數組 $array,其元素為 1、2 和 3。我們創建一個新數組 $newElements,其元素為 4、5 和 6。

通過使用 += 運算符,我們將新元素添加到現有數組,結果是更新的數組包含 1、2、3、4、5 和 6。

使用 ArrayList 中的 += 運算符

PowerShell 中的 ArrayList 類提供了一個可以高效修改的動態數組。

示例代碼:

# Using an ArrayList
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange(@(1, 2, 3))

# Add new elements
$arrayList += 4
$arrayList += 5
$arrayList += 6

# Display the updated ArrayList
$arrayList

輸出:

1
2
3
4
5
6

在這個示例中,我們創建了一個名為 $arrayList 的 ArrayList,並使用 AddRange 方法添加初始元素 1、2 和 3。

然後我們使用 += 運算符將新的元素 4、5 和 6 添加到 ArrayList 中。結果是一個更新的 ArrayList,包含所有添加的元素。

注意
使用 ArrayList 在處理較大數據集時,相比簡單的數組 += 方法可能會更高效。

使用 ArrayList 中的 Add 方法

ArrayList 的 Add 方法允許添加單個元素,這使它在動態更新中非常有用。

示例代碼:

# Using an ArrayList
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange(@(1, 2, 3))

# Add new elements using the Add method
$arrayList.Add(4)
$arrayList.Add(5)
$arrayList.Add(6)

# Display the updated ArrayList
$arrayList

輸出:

3
4
5
1
2
3
4
5
6

在這個示例中,我們創建了名為 $arrayList 的 ArrayList,並使用 AddRange 方法添加初始元素 1、2 和 3。

然後我們使用 Add 方法逐個添加新的元素 4、5 和 6 到 ArrayList 中。結果是一個更新的 ArrayList,包含所有添加的元素。

注意
Add 方法高效且適用於單個添加元素的場景。

結論

這篇文章探討了在 PowerShell 中將對象添加到對象數組的方法。它涵蓋了 PowerShell 中數組的基本概念,包括其存儲多樣數據類型的能力以及用於項目檢索的索引號的使用。

主要重點是將對象添加到數組中,文章介紹了各種技術:

  1. 使用 += 運算符:這種簡單的方法涉及每次添加時創建一個新數組,適合較小的數據集。
  2. 將數組與 += 運算符結合:演示了如何使用 += 將現有數組與新元素合併,為動態更新提供靈活性。
  3. 使用 ArrayList:介紹了 ArrayList 類以更高效地處理動態數組,特別適合大型數據集。
  4. 使用 ArrayList 的 Add 方法:演示了如何使用 Add 方法逐個添加元素到 ArrayList,強調效能。

所提供的示例展示了 PowerShell 在管理對象數組方面的靈活性,並強調根據性能、簡單性和類型安全考慮選擇最合適的方法的重要性。理解這些方法使 PowerShell 使用者能夠在各種腳本和自動化任務中做出明智的數組操作決策。