Luc*_*kor 17 arrays powershell function dynamic
我还没有太多的PowerShell经验,我正在努力教自己.
我正在尝试为更大的项目提供一些概念代码证明.这里的主要目标是使用函数动态创建并向数组添加元素.
这是我的代码:
$testArray = @()
function addToArray($Item1)
{
$testArray += $Item1
"###"
}
$tempArray = "123", "321", "453"
$foldertest = "testFolder"
foreach($item in $tempArray)
{
addToArray $item
}
"###"
Run Code Online (Sandbox Code Playgroud)
每次函数完成时,数组都变为空.请记住,我的大部分编程经验都来自Java,PHP,一些C和C++,仅举几例,如果我在PHP中这样做(当然调整语言语法),这本来可以正常工作.
Ang*_*ira 18
$testArray = [System.Collections.ArrayList]@()
$tempArray = "123", "321", "453"
foreach($item in $tempArray)
{
$arrayID = $testArray.Add($item)
}
Run Code Online (Sandbox Code Playgroud)
Mic*_*ens 13
问题是范围之一; 在addToArray函数中,将行更改为:
$script:testArray += $Item1
Run Code Online (Sandbox Code Playgroud)
...存储到您期望的数组变量中.
注意:如果您想要动态(非固定)数量的项目,更精确的解决方案可能是使用List
:
$testArray = New-Object System.Collections.Generic.List[System.Object]
$tempArray = "123", "321", "453"
foreach($item in $tempArray)
{
$testArray.Add($item)
}
Run Code Online (Sandbox Code Playgroud)
注意:在这种情况下,您可以从.Net获得 List 的强大功能,因此您可以轻松应用 linq、合并、拆分以及执行您在 .Net 中使用 List 执行的任何操作