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

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

作者:精品下载站 日期:2024-12-14 20:33:13 浏览:16 分类:玩电脑

PowerShell 中的数组 | PowerShell 中数组的完整指南及示例


[玩转系统] 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

上述命令将按升序对元素进行排序

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

输入:

$test |sort -Descending will sort the elements in the descending order

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

2. 更新数组中的项

索引可用于更新数组中的元素

输入:

$test=@(‘oneee’,’zddsdsad’,'thraewawe')
$test[0]=’changed’

上面的命令会将“one”更改为“changed”。执行 $test 将返回

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

3. 查找数组中的元素

要检查数组的值,可以使用 like 运算符

输入:

$test=@(‘viki’,ramu,'aravind','vikram')
$test -like "*vik*"

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

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]
}

输出

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

For-each 可用于对数组中的每个项目执行操作。

输入:

$test=@(1,4,5,6,7,8,9,10)
foreach($i in $test)
{
$i=$i+5
Write-Host $i
}

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

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 中的数组 | PowerShell 中数组的完整指南及示例

  • 数组列表的性能

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

数组列表的性能比数组更快更好。

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

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

哈希表

哈希表用于实现结构化数组。在哈希表中,值以键值格式存储。它们也称为字典或关联数组。

语法:

$testhashtable=@{}

或者

$testhashtable=@{ key1=”test1”;key2=”test2”;key3=”test3”}

其中 key1、key2 和 key3 是键,test1、test2 和 test3 是值。

输入

$testhashtable

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

可以使用 .dot 运算符按如下方式访问键或值

输入:

$testhashtable.keys

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

输入:

$testhashtable.Values

输出:

[玩转系统] PowerShell 中的数组 | PowerShell 中数组的完整指南及示例

例子

以下是查找所有哈希表键和哈希表值的示例。

输入:

$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 中的数组 | PowerShell 中数组的完整指南及示例

结论 - PowerShell 中的数组

数组的主要优点是内存管理。可以直接从缓存访问它们,这有助于更快地检索。它们是可重复使用的,一旦声明它们可以重复使用多次。

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

取消回复欢迎 发表评论:

关灯