[玩转系统] PowerShell 添加到数组 | PowerShell如何添加到数组中?
作者:精品下载站 日期:2024-12-14 04:53:03 浏览:15 分类:玩电脑
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()
输出:
它显示了 BaseType System.Array 和 Name as Object[] 意味着我们可以在数组中添加多个对象。
一旦我们声明了数组,如果我们需要将值添加到数组中,我们可以使用以下两种方法。
代码:
$arr += "Hello"
$arr += "PowerShell"
$arr
输出:
如果我们在这里检查,它们都会添加到特定索引处并加一。
代码:
$arr[0]
$arr[1]
输出:
索引 2 不会有任何值,因为我们还没有添加它。
代码:
$arr[2]
输出:
我们可以使用的另一种方法是 Add() 方法,但它不适用于固定大小的数组。
代码:
$arr.Add('Azure')
输出:
PowerShell数组的大小是固定的,因此当向列表中添加或删除数组时,它会销毁现有数组并创建一个新数组,并且固定大小的数组不允许使用Add()或Remove()方法;相反,我们可以使用 +=(加等于)进行添加操作,使用 -=(减等于)运算符进行添加和删除操作。
检查数组是否具有固定大小。
代码:
$arr.IsFixedSize
输出:
同样,如果我们获取任何 cmdlet 输出,它将存储为数组;并且它始终是固定大小。
代码:
$ser = Get-Service
$ser.GetType()
$ser.IsFixedSize
输出:
还有另一种方法可以将值添加到数组中,那就是使用 ArrayList。 ArrayList有不同的声明方法,如下所示。
代码:
$arrlist = [System.Collections.ArrayList]@("Hello","PowerShell")
$arrlist
输出:
如果我们检查这个数组列表的类型,它是System.Object。
代码:
$arrlist.GetType()
输出:
ArrayList 允许使用 Add() 方法将值添加到数组列表中。
代码:
$arrlist.Add("Azure")
我们可以在此处添加输出,因为 ArrayList 不是固定大小。
代码:
$arrlist.IsFixedSize
输出:
PowerShell 添加到数组的示例
下面给出了 PowerShell 添加到数组的示例:
例子#1
将值添加到数组中。
在此示例中,我们将另外一种动物“Cow”添加到数组 $Animals 中。
代码:
$Animals = @()
$Animals = "Cat" , "Dog" , "Tiger"
$Animals += "Cow"
$Animals
C:\Temp\TestPS.ps1
输出:
例子#2
使用加法运算符合并两个数组。
在这里,我们将使用“+”(加号)运算符将两个数组合并为空数组。
代码:
$PetAnimals = @( "Cow" , "Dog" )
$WildAnimals = @( "Tiger" , "Lion" )
$Animals = @()
$Animals = $PetAnimals + $WildAnimals
$Animals
输出:
例子#3
使用Arraylist添加值。
在下面的示例中,我们创建一个数组列表并将两个值添加到列表中。
代码:
$arrlist = New-Object -TypeName System.Collections.ArrayList
$arrlist.Add("One")
$arrlist.Add("Two")
$arrlist
输出:
要添加更多值,我们可以使用加赋值‘+=’方法或 Add() 方法,如下所示。
代码:
$arrlist += "Three"
$arrlist += "Four"
$arrlist
输出:
例子#4
使用循环添加数组值。
在此示例中,我们将使用列表将数据输入到数组中,然后使用 foreach 循环将值添加到数组中。
代码:
$list = "One", "Two", "Three"
$arr = @()
foreach( $item in $list ){
$arr += $item
}
$arr
输出:
使用 foreach 循环将值添加到 ArrayList。
代码:
$list = "One", "Two", "Three"
$arrlist = New-Object -TypeName System.Collections.ArrayList
foreach( $item in $list ){
$arrlist.Add($item)
}
$arrlist
输出:
例子#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])"
输出:
第三个索引为空,因为我们还没有声明任何内容。因此,当我们尝试向其添加值时,我们会收到以下错误。
代码:
$arr[3] = "four"
或者
代码:
$arr[3] += "four"
输出:
因为该索引对于数组或 ArrayList 的类似事物来说是未知的。此方法的解决方法是最初将空值分配给索引,但这会使具有固定大小的数组计数。
代码:
$count = 5
$arr = @()
for($i=0; $i -lt $count; $i++){
$arr += ""
}
我们为数组声明了 5 个索引,并为其分配了空白值,因此它使数组大小为 5,没有任何值,这是它的缺点。所以我们现在可以给它赋值。
代码:
$arr[0] = "One"
$arr[1] = "Two"
$arr[3] = "Four"
$arr
输出:
请注意,索引 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 或数组中添加或删除一些项目,在这种情况下,我们可以使用数组操作方法来添加数据。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag