迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中初始化自定义对象数组

作者:迹忆客 最近更新:2024/03/03 浏览次数:

数组是 Windows PowerShell 的一项基本功能。这些使得摄取、操作和输出准确的数据结构(而不​​仅仅是原始字符串)成为可能。

此功能使 PowerShell 与其他脚本语言不同且更实用。

本文将解释什么是数组,如何在 Windows PowerShell 中创建数组,然后使用基本函数来操作它们。


在 Windows PowerShell 中使用数组

Windows PowerShell 中的数组可以包含一项或多项。数组可以是字符串、整数、对象或其他数组。

每个项目都有一个从 0 开始并按项目迭代的索引。

创建数组的基本语法是@()

$data = @()

我们可以将值放在@之后的括号内:

$data = @('Zero','One','Two','Three')

要显示数组中的项目,我们可以调用命名变量:

$data

输出:

Zero
One
Two
Three

在 Windows PowerShell 中访问数组

现在我们有了一个数组,我们将要访问项目。有几种方法可以做到这一点。

第一种方法是使用数组中项目的索引。正如我们已经提到的,索引从 0 开始。

因此,我们需要告诉 Windows PowerShell 查看分配索引为零的项,以检索数组中的第一项。

$data[0]

此语法将返回字符串 zero,因为这是我们放入数组中的第一个字符串。我们还可以通过在同一命令中放置更多索引来扩展此代码段以从同一数组返回多个项目。

$data[0,2,3]

输出:

Zero
Two
Three

使用 Windows PowerShell 更改数组中的项目

我们可以使用相同的方法来更新数组中的项目。例如,要更新分配索引为 2 的项目,我们可以运行:

$data[2] = 'second'

此方法使我们可以直接访问数组中的项目。


在 Windows PowerShell 中迭代数组

Windows PowerShell 最强大的功能之一是对数组中的所有项目执行相同的操作。最基本的方法是使用管道字符(|)。

例如,要为数组中的每个项目添加描述,我们可以使用以下命令:

$data | ForEach-Object {"Item: [$PSItem]"}

此命令告诉 PowerShell 脚本环境一次获取一个 $data 数组中的项目。


使用 Windows PowerShell 在数组中创建对象

我们可以使用数组 (@()) 函数使用与字符串相同的方法创建一个充满自定义对象的数组。例如,要制作员工测试列表,我们可以使用:

$data = @(
   [pscustomobject]@{FirstName='Kevin';LastName='Marquette'}
   [pscustomobject]@{FirstName='John'; LastName='Doe'}
)

当你为它们分配一个变量以使用时,大多数 PowerShell 本机命令将返回一个包含此类型对象的数组。


使用 Windows PowerShell 访问数组中的对象

我们之前运行的访问单个数据的过程同样可以用于包含对象的数组。

$data[0]

输出:

FirstName LastName
-----     ----
John     Hampton

或者,我们可以通过指定要在同一命令中调用的属性来获取单个对象的属性。

$data[0].FirstName

输出:

John

使用 Windows PowerShell 更新数组中的对象

确切的语法允许我们更新保存在数组中的对象中的各个属性。

$data[0].FirstName = 'Jay'

使用 Windows PowerShell 访问数组中的属性

在大多数编程和脚本语言中,我们必须使用迭代方法来访问各种对象中的所有属性。我们也可以在 Windows PowerShell 中执行此操作。

$data | ForEach-Object {$_.LastName}

此方法将返回我们数组中所有 LastName 属性的列表,但每次你想查看此数据时都编写起来计算量大且具有挑战性。因此,PowerShell 有一个快捷方式。

$data.LastName

你将看到相同的列表。PowerShell 像以前一样依次获取每个对象,但它向我们隐藏了这种复杂性。


在 Windows PowerShell 中创建 ArrayList

将项目添加到数组可能具有挑战性。但是,ArrayList 处理得更优雅,是一种不同类型的集合。

但是,我们将不得不使用 .NET 框架来使用这种类型的集合。要创建 ArrayList 并向其中添加项目,请运行以下命令:

$myarray = [System.Collections.ArrayList]::new()

[void]$myArray.Add('Value')

在这里,我们可以调用默认的 .NET 构造函数来创建一个新的 ArrayList,然后使用 Add 运算符向其中添加项目。

[void] 数据类型之所以存在,是因为有时这些命令会抛出可能与代码混淆的奇怪输出。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中显示消息框

发布时间:2024/03/03 浏览次数:103 分类:编程语言

本文将讨论名为 Message Boxes 的 PowerShell GUI 的重要功能,我们将学习如何使用 PowerShell 编写和输出它们。

在 PowerShell 中输出信息性消息

发布时间:2024/03/03 浏览次数:74 分类:编程语言

本文将区分多个写入命令,例如写入信息、警告和错误消息,并提供我们可以在 PowerShell 中何时何地使用它们的情况。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便