当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 PowerShell 中创建空数组?

作者:精品下载站 日期:2024-12-14 05:03:50 浏览:15 分类:玩电脑

如何在 PowerShell 中创建空数组?


您需要在PowerShell中创建一个空数组吗?在本 PowerShell 教程中,我将解释如何在 PowerShell 中创建空数组以及如何使用 PowerShell 空数组。

要在 PowerShell 中创建空数组,请使用 $myArray=@() 将数组文字分配给变量。此命令将 $myArray 初始化为空数组,允许您随后使用 $myArray += 'newElement' 添加元素。

为什么在 PowerShell 中使用空数组?

PowerShell 中的空数组本质上是一个起点。它是一个准备填充元素的容器。当您知道需要存储项目集合但在创建数组时还没有要存储的项目时,创建空数组非常有用。然后,您可以在元素可用时将其添加到数组中。

在 PowerShell 中创建空数组

在 PowerShell 中创建空数组的最简单方法是使用数组子表达式运算符 @()。操作方法如下:

$myArray = @()

此命令将 $myArray 初始化为空数组。此时,$myArray 不包含任何元素。

向空数组添加元素

一旦有了空数组,您可能想向其中添加元素。尽管 PowerShell 数组在创建后大小就固定了,但您仍然可以通过创建包含现有数组元素和新元素的新数组来模拟添加元素。这是一个例子:

$myArray += "new element"

此行获取当前的 $myArray,向其中添加一个新元素,然后将结果分配回 $myArray。请记住,此过程对于添加许多元素来说并不是最有效的,因为它每次添加都会创建一个新数组。

您可以查看下面的屏幕截图,我使用 VS 代码在 PowerShell 中创建了一个空数组。

[玩转系统] 如何在 PowerShell 中创建空数组?

查看 PowerShell 追加到数组

创建空数组的替代方法

在 PowerShell 中创建空数组的另一种方法是将变量转换为数组类型。下面是使用数组转换 [array] 的示例:

$myArray = [array]@()

此方法明确表明 $myArray 旨在成为数组数据类型。

在 PowerShell 中创建具有属性的空数组

在 PowerShell 中创建具有属性的空数组涉及定义具有所需属性的对象,然后将这些对象存储在数组中。这通常是使用自定义对象来完成的。这是一个例子:

首先,定义一个具有所需属性的自定义对象。例如:

$customObject = New-Object PSObject -Property @{
    Property1 = $null
    Property2 = $null
}

在此示例中,Property1Property2 是属性的名称,它们最初设置为 $null

接下来,创建一个空数组来存储此类对象:

$myArray = @()

现在,您可以将自定义对象添加到数组中:

$myArray += $customObject

此数组 $myArray 现在包含一项,它是具有 Property1Property2 的自定义对象。您可以使用相同的方法将更多具有相同属性的对象添加到数组中。每个对象都可以根据需要将其属性设置为不同的值。

在 PowerShell 中创建一个空字符串数组

在 PowerShell 中,空字符串数组是在初始化时不包含任何字符串元素的数组。要创建空字符串数组,请使用 @() 语法,它表示一个数组。由于您指定了一个字符串数组,因此可以理解该数组旨在保存字符串元素,但最初它不包含任何字符串元素。

以下是如何在 PowerShell 中创建空字符串数组的示例:

$stringArray = @()

此命令使用空数组初始化 $stringArray。然后,您可以使用各种方法将字符串添加到此数组,例如使用 += 运算符来附加元素:

$stringArray += "First string"
$stringArray += "Second string"

经过这些操作,$stringArray 将包含两个元素:“First string”和“Second string”。

PowerShell:创建带有标题的空数组

在 PowerShell 中,“带标头的数组”通常是指具有命名属性的对象集合,而不是传统的数组。要创建此类集合,您可以使用 PSCustomObject 或哈希表,然后将这些对象存储在数组中。

下面是如何创建一个空数组来保存带有标题的对象(命名属性)的示例:

# Define an empty array to hold the custom objects
$objectArray = @()

# Define a new object with named properties (headers)
$object = New-Object PSObject -Property @{
    Header1 = $null
    Header2 = $null
    Header3 = $null
}

# Add the object to the array
$objectArray += $object

在此示例中,$objectArray 是一个数组,用于保存具有三个属性的对象:Header1Header2Header3。最初,该数组包含一个所有属性均设置为 $null 的对象。

在 PowerShell 中创建一个大小为空的数组

在 PowerShell 中,您可以创建具有预定义大小的数组,但需要注意的是,PowerShell 中的数组一旦创建,大小就固定了。要创建具有特定大小的数组,通常使用一定数量的元素来初始化该数组。然而,由于 PowerShell 数组与 C# 等语言中的传统静态大小数组不同,因此方法有点不同。

例如,如果要创建一个可以容纳 10 个元素的数组,可以使用以下代码:

# Create an array with 10 elements, all initialized to $null
$arrayOfSize = New-Object object[] 10

在此示例中,$arrayOfSize 是一个包含 10 个元素的数组,每个元素都初始化为 $null。然后,您可以通过使用索引访问数组的每个元素来为它们分配值。

以下是为数组的第一个元素(索引 0)赋值的方法:

$arrayOfSize[0] = "First element"

如果您想创建一个使用 $null 以外的默认值初始化的数组,则可以使用循环来填充该数组。例如,要创建一个包含 10 个空字符串的数组:

# Create an array of 10 empty strings
$arrayOfSize = 1..10 | ForEach-Object { "" }

这使用 ForEach-Object 循环将 10 个元素中的每一个元素设置为空字符串 ("")。

结论

使用 @() 创建空数组为收集和操作脚本中的一组项目提供了一个灵活的起点。请记住,虽然 PowerShell 数组的大小是固定的,但您可以通过创建新数组或筛选现有数组来模拟添加、修改和删除元素。

在本 PowerShell 教程中,我解释了如何使用各种方法在 PowerShell 中创建空数组

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯