如何向 PowerShell 中的对象数组添加对象

  1. 在 PowerShell 中使用+= 运算符向对象数组添加对象
  2. 使用+= 运算符通过数组向数组添加对象
  3. 使用 ArrayList+= 运算符
  4. 使用 ArrayListAdd 方法
  5. 结论
如何向 PowerShell 中的对象数组添加对象

PowerShell 具有多功能的脚本功能,允许用户有效地操作对象数组。向数组添加对象是一项常见操作,有多种方法可以实现这一点。

数组是一种存储多个项目集合的数据结构。

在 PowerShell 中,数组可以包含一个或多个项目。这些项目可以是相同或不同类型。

它们可以是字符串、整数、对象,甚至是另一个数组。一个单一的数组可以包含这些项目的任意组合。

每个项目存储在索引号中,索引从零开始。第一个项目存储在 0,第二个存储在 1,第三个存储在 2,以此类推。

对象数组是对象的集合。本教程将教您如何在 PowerShell 中向对象数组添加对象。

以下是创建包含 NameAge 对象的数组 $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,其元素为 123。我们创建一个新数组 $newElements,其元素为 456

通过使用+= 运算符,我们将新元素添加到现有数组,从而导致更新后的数组包含 123456

使用 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

在这个例子中,我们创建了一个名为 $arrayListArrayList 并使用 AddRange 方法添加初始元素 123

然后,我们使用+= 运算符将新元素 456 添加到 ArrayList 中。最终结果是一个更新的 ArrayList,包含所有添加的元素。

注意
使用 ArrayList 可能比简单数组+= 方法更有效,特别是对于更大的数据集。

使用 ArrayListAdd 方法

ArrayListAdd 方法允许添加单个元素,使其在动态更新时非常有用。

示例代码:

# 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

在这个例子中,我们创建了一个名为 $arrayListArrayList 并使用 AddRange 方法添加初始元素 123

然后,我们使用 Add 方法逐个添加新元素 456ArrayList 中。最终结果是一个更新的 ArrayList,包含所有添加的元素。

注意
Add 方法高效且适合单独添加元素的场景。

结论

本文探讨了在 PowerShell 中向对象数组添加对象的方法。它涵盖了 PowerShell 中数组的基础知识,包括它们存储多种数据类型的能力和用于项目检索的索引号的使用。

主要关注点是向数组添加对象,文章介绍了各种技术:

  1. 使用+= 运算符:这种简单的方法涉及在每次添加时创建一个新数组,适合较小的数据集。
  2. += 运算符结合使用数组:演示使用+= 将现有数组与新元素结合,提供灵活的动态更新。
  3. 使用 ArrayList:介绍 ArrayList 类以更有效地操作动态数组,特别对较大数据集有利。
  4. 使用 ArrayListAdd 方法:说明使用 Add 方法单独添加元素到 ArrayList 的效率。

提供的示例展示了 PowerShell 在管理对象数组方面的灵活性,文章强调根据性能、简单性和类型安全性选择最合适的方法的重要性。理解这些方法可以让 PowerShell 用户在各种脚本和自动化任务中做出明智的数组操作决策。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell Array