[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例
作者:精品下载站 日期:2024-12-14 20:33:13 浏览:16 分类:玩电脑
PowerShell 中的数组 | PowerShell 中数组的完整指南及示例
PowerShell 中的数组简介
数组是一种数据结构,可用于存储项目的集合,项目的集合可以是相同数据类型或不同数据类型。可以使用索引来访问数组中的元素。数组的索引通常从 0 开始,因此要访问第一个元素,必须使用索引 [0]。通常,数组上只能进行两种操作,即向数组添加元素或删除元素。在本文中,我们将了解 PowerShell 中的数组。
在 PowerShell 中定义数组
可以通过以下任意方式定义数组:
@() 是定义数组的方法之一。
示例:
$Subject = @(‘History’,’Geo’,’Maths’)
- 数组也可以创建为逗号分隔的列表。
$test=’testone’,’testtwo’,’testthree’
- 可以为特定数据类型元素创建数组,如下所示:
[int[]] $numbersarray = 1,2,3,4,5
上面是一个整数数组,它只能保存整数值。
访问数组
让我们定义一个数组,
示例:
$test=@(‘test1’,’test2’,’test3’,’test4’)
$test [0] 将返回 test1,$test [3] 将返回 test4。许多语言只允许指定单个索引,而在 PowerShell 中可以同时使用多个索引。
上面的$test[1, 3]会返回,
测试2
测试4
数组上的操作
将项目添加到数组中。 让我们看一个如何向现有数组添加元素的示例。
示例:
$test=@(‘welcome’,’home’)
要添加到上面的数组,请使用“+=”运算符。
$test+='Raj'
运行 $test 将返回,
欢迎
家
拉吉
获取数组的计数
这里我们解释如何使用以下输入来获取数组的计数。
输入:
$test=@(‘test1’,’ertr’,’fgdfgfd’,’dfgfdg’,’dfdfsd’,’dfgfdgdfg’)
$test.Count 将返回 6,这是数组的计数/长度。
1. 对数组中的元素进行排序
如果元素具有相同的数据类型,则可以使用排序运算符对数组的元素进行排序。
输入:
$test=@(‘oneee’,’zddsdsad’,'thraewawe')
$test |sort
上述命令将按升序对元素进行排序
输出:
输入:
$test |sort -Descending will sort the elements in the descending order
输出:
2. 更新数组中的项
索引可用于更新数组中的元素
输入:
$test=@(‘oneee’,’zddsdsad’,'thraewawe')
$test[0]=’changed’
上面的命令会将“one”更改为“changed”。执行 $test 将返回
输出:
3. 查找数组中的元素
要检查数组的值,可以使用 like 运算符
输入:
$test=@(‘viki’,ramu,'aravind','vikram')
$test -like "*vik*"
输出:
PowerShell 中的多维数组
我们可以创建一个多维数组,如下所示,
$testMultidimensionalArrays = @(1,2,3), @(4,5,6), @(7,8,9)
每个阵列有一行三列。
循环数组
与任何其他语言一样,for 循环可用于循环数组中的项目。
输入:
$test=@(‘viki’,’ramu’,'aravind','vikram')
for($i=0;$i -lt $test.Length; $i++)
{
Write-Host $test[$i]
}
输出:
For-each 可用于对数组中的每个项目执行操作。
输入:
$test=@(1,4,5,6,7,8,9,10)
foreach($i in $test)
{
$i=$i+5
Write-Host $i
}
输出:
PowerShell 中的数组列表
数组的缺点之一是向其中添加项目,以克服我们拥有数组列表的问题。
以下是创建数组列表的语法,
$myarray = [System.Collections.ArrayList]::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
第一行是初始化 ArrayList 的方法,后续行是向 ArrayList 添加项目
数组与数组列表性能
以下示例显示了对数组和数组列表执行操作时的性能差异
输入:
Measure-Command -Expression { 0..250 | ForEach-Object { $arr += $_+1 }}
$arrlit = [System.Collections.ArrayList]@()
$f arrlit _performance = Measure-Command -Expression { 0..250 | ForEach-Object { $ arrlit += $_+1 }}
$ arrlit _performance
第一个命令对数组执行操作,第三行对数组列表执行相同的操作。
输出:
- 阵列性能
- 数组列表的性能
数组列表的性能比数组更快更好。
PowerShell 中的数组示例
以下是使用 for 循环、foreach 循环和 while 循环查找数组长度的示例。
输入:
$testlist = 5.634, 4.512323, 3.312323, 13.2213213, 4.02324, 34.3334324, 34.04324, 45.4534324, 99.993234324, 11123234234 write-host("Printing the array elements")
$testlist
write-host("length of array")
$testlist.Length
write-host("fifth element in array")
$testlist[4]
write-host("partial array")
$subList = $testlist[1..3]
write-host("using for loop")
for ($i = 0; $i -le ($testlist.length - 1); $i += 1) {
$testlist[$i]
}
write-host("using forEach Loop")
foreach ($e in $testlist) {
$e
}
write-host("using while Loop")
$i = 0
while($i -lt 4) {
$testlist[$i];
$i++
}
write-host("Assign values")
$testlist[1] = 10
$testlist
输出:
哈希表
哈希表用于实现结构化数组。在哈希表中,值以键值格式存储。它们也称为字典或关联数组。
语法:
$testhashtable=@{}
或者
$testhashtable=@{ key1=”test1”;key2=”test2”;key3=”test3”}
其中 key1、key2 和 key3 是键,test1、test2 和 test3 是值。
输入:
$testhashtable
输出:
可以使用 .dot 运算符按如下方式访问键或值
输入:
$testhashtable.keys
输出:
输入:
$testhashtable.Values
输出:
例子
以下是查找所有哈希表键和哈希表值的示例。
输入:
$testht = @{ English = "85"; Tamil = "100"; maths = "100"}
write-host("Printing all the hashtable keys")
$testht.keys
write-host("Printing all the hashtable values")
$testht.values
write-host("print Size")
$testht.Count
write-host("Add key-value")
$testht["Social"] = "100"
write-host("Add key-value")
$testht.Add("ss","110")
write-host("Size")
$testht.Count
write-host("Remove English")
$testht.Remove("English")
write-host("curentSize")
$testht.Count
write-host("sortinh by key")
$testht.GetEnumerator() | Sort-Object -Property key
输出:
结论 - PowerShell 中的数组
数组的主要优点是内存管理。可以直接从缓存访问它们,这有助于更快地检索。它们是可重复使用的,一旦声明它们可以重复使用多次。
猜你还喜欢
- 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