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

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

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

PowerShell 添加到数组 | PowerShell如何添加到数组中?


[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

PowerShell 添加到数组简介

PowerShell数组是单一或不同数据类型的项目的集合,添加到数组的方法意味着使用不同的方法(如加等于运算符()在数组或数组列表的特定索引处添加新项目) +=) 或 Add() 方法以及单个或不同数据类型的多个数组可以合并为一个数组。

语法:

1. 加等号运算符 (+=) 的语法。

$array1 = @(value1, Value2, value3)
$array1 += "Value4"

2.用数组列表的Add()方法。

$arr = [System.Collections.ArrayList]@('Value1', 'Value2', 'Value3')
$arr.Add('Value4')

PowerShell如何添加到数组中?

数组不仅在 PowerShell 中,而且在所有编程语言中都具有类似的结构,并且它适用于索引结构。

下面是示例数组声明。

代码:

$arr = @()

让我们检查一下它的类型。

代码:

$arr.GetType()

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

它显示了 BaseType System.Array 和 Name as Object[] 意味着我们可以在数组中添加多个对象。

一旦我们声明了数组,如果我们需要将值添加到数组中,我们可以使用以下两种方法。

代码:

$arr += "Hello"
$arr += "PowerShell"
$arr

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

如果我们在这里检查,它们都会添加到特定索引处并加一。

代码:

$arr[0]
$arr[1]

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

索引 2 不会有任何值,因为我们还没有添加它。

代码:

$arr[2]

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

我们可以使用的另一种方法是 Add() 方法,但它不适用于固定大小的数组。

代码:

$arr.Add('Azure')

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

PowerShell数组的大小是固定的,因此当向列表中添加或删除数组时,它会销毁现有数组并创建一个新数组,并且固定大小的数组不允许使用Add()或Remove()方法;相反,我们可以使用 +=(加等于)进行添加操作,使用 -=(减等于)运算符进行添加和删除操作。

检查数组是否具有固定大小。

代码:

$arr.IsFixedSize

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

同样,如果我们获取任何 cmdlet 输出,它将存储为数组;并且它始终是固定大小。

代码:

$ser = Get-Service
$ser.GetType()
$ser.IsFixedSize

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

还有另一种方法可以将值添加到数组中,那就是使用 ArrayList。 ArrayList有不同的声明方法,如下所示。

代码:

$arrlist = [System.Collections.ArrayList]@("Hello","PowerShell")
$arrlist

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

如果我们检查这个数组列表的类型,它是System.Object。

代码:

$arrlist.GetType()

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

ArrayList 允许使用 Add() 方法将值添加到数组列表中。

代码:

$arrlist.Add("Azure")

我们可以在此处添加输出,因为 ArrayList 不是固定大小。

代码:

$arrlist.IsFixedSize

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

PowerShell 添加到数组的示例

下面给出了 PowerShell 添加到数组的示例:

例子#1

将值添加到数组中。

在此示例中,我们将另外一种动物“Cow”添加到数组 $Animals 中。

代码:

$Animals = @()
$Animals = "Cat" , "Dog" , "Tiger"
$Animals += "Cow"
$Animals
C:\Temp\TestPS.ps1

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

例子#2

使用加法运算符合并两个数组。

在这里,我们将使用“+”(加号)运算符将两个数组合并为空数组。

代码:

$PetAnimals = @( "Cow" , "Dog" )
$WildAnimals = @( "Tiger" , "Lion" )
$Animals = @()
$Animals = $PetAnimals + $WildAnimals
$Animals

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

例子#3

使用Arraylist添加值。

在下面的示例中,我们创建一个数组列表并将两个值添加到列表中。

代码:

$arrlist = New-Object -TypeName System.Collections.ArrayList
$arrlist.Add("One")
$arrlist.Add("Two")
$arrlist

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

要添加更多值,我们可以使用加赋值‘+=’方法或 Add() 方法,如下所示。

代码:

$arrlist += "Three"
$arrlist += "Four"
$arrlist

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

例子#4

使用循环添加数组值。

在此示例中,我们将使用列表将数据输入到数组中,然后使用 foreach 循环将值添加到数组中。

代码:

$list = "One", "Two", "Three"
$arr = @()
foreach( $item in $list ){
$arr += $item
}
$arr

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

使用 foreach 循环将值添加到 ArrayList。

代码:

$list = "One", "Two", "Three"
$arrlist = New-Object -TypeName System.Collections.ArrayList
foreach( $item in $list ){
$arrlist.Add($item)
}
$arrlist

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

例子#5

使用索引方法将值插入到数组中。

假设我们有下面的数组。

代码:

$arr = @("One", "Two", "Three")

下面是该声明数组的数组索引。

代码:

Write-Output "0th Index Value: $($arr[0])"
Write-Output "1st Index Value: $($arr[1])"
Write-Output "2nd Index Value: $($arr[2])"
Write-Output "3rd Index Value: $($arr[3])"

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

第三个索引为空,因为我们还没有声明任何内容。因此,当我们尝试向其添加值时,我们会收到以下错误。

代码:

$arr[3] = "four"

或者

代码:

$arr[3] += "four"

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

因为该索引对于数组或 ArrayList 的类似事物来说是未知的。此方法的解决方法是最初将空值分配给索引,但这会使具有固定大小的数组计数。

代码:

$count = 5
$arr = @()
for($i=0; $i -lt $count; $i++){
$arr += ""
}

我们为数组声明了 5 个索引,并为其分配了空白值,因此它使数组大小为 5,没有任何值,这是它的缺点。所以我们现在可以给它赋值。

代码:

$arr[0] = "One"
$arr[1] = "Two"
$arr[3] = "Four"
$arr

输出:

[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?

请注意,索引 2 和 4 为空。这种方法不适合。

例子#6

使用字符串数组添加主机文件条目。

此示例将在检索字符串数组的输出后将条目添加到主机文件。

代码:

$hostfile = Get-Content C:\Windows\System32\drivers\etc\hosts
$hostfile += "8.8.8.8 Google.com"
$hostfile | Set-Content C:\Windows\System32\drivers\etc\hosts -Force

结论

数组操作是 PowerShell 的重要组成部分,在处理数百或数千个元素时,我们需要从 ArrayList 或数组中添加或删除一些项目,在这种情况下,我们可以使用数组操作方法来添加数据。

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

取消回复欢迎 发表评论:

关灯