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

[玩转系统] 如何在 PowerShell 中将 ArrayList 转换为数组?

作者:精品下载站 日期:2024-12-14 05:07:37 浏览:13 分类:玩电脑

如何在 PowerShell 中将 ArrayList 转换为数组?


在某些情况下,您可能需要在 PowerShell 中将 ArrayList 转换为数组。在本 PowerShell 教程中,我将向您展示如何使用各种方法在 PowerShell 中将 ArrayList 转换为数组。

要在 PowerShell 中将 ArrayList 转换为数组,请在 ArrayList 实例上使用 ToArray() 方法。例如, $array=$arrayList.ToArray() 将从 ArrayList 创建一个标准数组。此方法是从动态大小的集合转换为固定大小的数组的直接方法。

PowerShell 中的数组和 ArrayList 简介

我们首先了解一下 PowerShell 中的数组和 ArrayList 是什么。

数组是 PowerShell 中的基本数据结构,用于存储相同类型元素的固定大小的顺序集合。数组用于在单个变量中存储多个值,其索引可以访问这些值。下面是 PowerShell 中数组的一个简单示例:

$array = 1, 2, 3, 4, 5

另一方面,ArrayList 是一个动态对象,可以保存项目的集合。与数组不同,ArrayList 的大小可以动态增长和缩小,并且可以容纳不同类型的项目。

ArrayList 来自 .NET Framework,并不是 PowerShell 原生的,但当您需要可以更改大小的集合时,它们可能非常有用。以下是在 PowerShell 中创建 ArrayList 的方法:

$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add(1)
$arrayList.Add('two')
$arrayList.Add(3.0)

为什么要将 ArrayList 转换为数组?

出于多种原因,您可能需要在 PowerShell 中将 ArrayList 转换为数组。例如:

  • 您可能有一个只接受数组作为输入的函数。
  • 由于数组的大小是固定的,因此在循环中访问数组的速度更快。
  • 某些 cmdlet 或方法可能需要数组而不是 ArrayList。

如何在 PowerShell 中将 ArrayList 转换为数组

现在,让我们看看如何将 ArrayList 转换为数组。有几种方法可以做到这一点,我们将通过示例来探讨每种方法。

方法 1:使用 ToArray() 方法

在 PowerShell 中将 ArrayList 转换为数组的最直接方法是使用 ToArray() 方法。该方法是ArrayList类的成员,将整个ArrayList转换为数组。使用方法如下:

# Create an ArrayList and add some items
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add('PowerShell')
$arrayList.Add(101)
$arrayList.Add($true)

# Convert the ArrayList to an Array
$array = $arrayList.ToArray()

# Display the Array
$array

在此示例中,$array 现在将是一个包含 $arrayList 中元素的数组。

使用 VS code 或 Windows PowerShell ISE 等任何编辑器执行脚本后,您可以看到如下屏幕截图所示的输出:

[玩转系统] 如何在 PowerShell 中将 ArrayList 转换为数组?

方法 2:使用 PowerShell 投射

将 ArrayList 转换为数组的另一种方法是使用 PowerShell 的转换功能,您可以将 ArrayList 转换为所需的数组类型。这是一个例子:

# Create an ArrayList and add some items
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add(10)
$arrayList.Add(20)
$arrayList.Add(30)

# Cast the ArrayList to an Array
[array]$array = $arrayList

# Display the Array
$array

当您像这样进行转换时,PowerShell 将创建一个与 ArrayList 中的项目类型相同的新数组。

方法 3:使用 @() 数组子表达式运算符

您还可以在 PowerShell 中使用数组子表达式运算符 @() 将 ArrayList 转换为数组。该运算符始终返回一个数组,即使您将其与单个项目一起使用也是如此。这是一个例子:

# Create an ArrayList and add some items
$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add('a')
$arrayList.Add('b')
$arrayList.Add('c')

# Use the array subexpression operator to convert to an Array
$array = @($arrayList)

# Display the Array
$array

如果您想确保结果始终是一个数组,即使 ArrayList 为空或仅包含一项,此方法特别有用。

结论

在 PowerShell 中,可以通过多种方式将 ArrayList 转换为数组,包括使用 ToArray() 方法、转换和数组子表达式运算符。每种方法都有其自己的用例,可以根据脚本或函数的特定需求进行选择。

我希望您现在已经完全了解如何在 PowerShell 中将 ArrayList 转换为数组

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

取消回复欢迎 发表评论:

关灯