source

파워셸의 배열에 요소를 추가하는 방법?

manysource 2023. 9. 17. 13:19

파워셸의 배열에 요소를 추가하는 방법?

파워셸 코드:

$list += "aa"

요소 "aa"를 $list 목록에 추가합니다.요소를 붙이는데 방법이 있습니까?이것이 제 해결책이지만, 이것을 한 줄로 할 수 있는 방법이 있을 것입니다.

$tmp = ,"aa";
$tmp += $list
$list = $tmp

위의 예에서는 다음과 같은 작업을 수행할 수 있어야 합니다.

$list = ,"aa" + $list

그러면 단순히 "aa"를 목록에 붙여 0번째 요소로 만들 수 있습니다.다음을 얻어서 확인$list[0].

이것은 두 개의 배열을 하나로 결합합니다.

$list = @("aa") + $list

PowerShell 어레이는 길이가 고정되어 있기 때문에 PowerShell 어레이에 순수한 프리펜딩을 수행하는 것은 불가능합니다.두 개의 어레이를 하나로 결합하는 것은 좋은 접근법입니다.

사용.+=그리고.+PowerShell의 어레이에서 사용자가 어레이를 사용할 때마다 어레이의 복사본을 만듭니다.목록/배열이 정말 크지 않다면 그것은 괜찮습니다.이 경우 일반 목록을 사용하는 것을 고려해 보십시오.

C:\> $list = new-object 'System.Collections.Generic.List[string]'
C:\> $list.Add('a')
C:\> $list.Add('b')
C:\> $list.Insert(0,'aa')
C:\> $list
aa
a
b

이 시나리오에서는 Add/Insert 메서드를 사용해야 합니다.다시 사용할 경우+=, 그것은 일반적인 목록을 다시 복사할 것입니다.object[].

만일 당신이 이것을 'String'이 아닌 'Object' 배열로 하고 싶다면, 나는 다음이 유용하다고 생각했습니다.

$List = $List | foreach {'aa' + $_}

분명히, 이것은 거대한 배열에 비해 상대적으로 느릴 것입니다.

언급URL : https://stackoverflow.com/questions/2201571/how-to-prepend-an-element-to-an-array-in-powershell