使用for循环或强制转换来创建列表

时间:2018-01-18 20:15:01

标签: arrays list powershell

我正在研究将Array转换为List集合的方法,答案显示here使用了投射。

在我的脚本中,我构建了一个带有for循环的List<string>

$backup_details = Get-Content "$env:USERPROFILE\Desktop\source.txt"

$backupItems = New-Object System.Collections.Generic.List[string]

foreach($item in $backup_details){
    $backupItems.Add($item)
}

我有什么理由在这种方法上使用施法?

1 个答案:

答案 0 :(得分:1)

我觉得你在追求目标时过于复杂化。如上所述,您可以在没有第一个项目的情况下重建数组,或者将该项目移动到另一个变量。

完全删除该项目:

$backupItems = $backup_details | Select -Skip 1

(或者您最初可以将Get-Content传递给Select -Skip 1并跳过该步骤,甚至可以$backup_details = $backup_details | Select -Skip 1重新定义自己)

将第一个项目移动到另一个变量,以防您以后再保留它。

$firstItem, $backupItems = $backup_details

并且,(由于Nick的评论提供,因为我没有想到),你可以在导入数据时将其转换为ArrayList:

[Collections.ArrayList]$backupItems = Get-Content "$env:USERPROFILE\Desktop\source.txt"
$BackupItems.RemoveAt(0)