파워셸의 배열에 요소를 추가하는 방법?
파워셸 코드:
$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
'source' 카테고리의 다른 글
jQuery에서 symbol $의 의미는 무엇입니까? (0) | 2023.09.27 |
---|---|
mysqli_sql_exception에 '해당 파일 또는 디렉터리 없음' 메시지가 표시됨 (0) | 2023.09.17 |
키보드 이벤트를 생성하는 방법? (0) | 2023.09.17 |
glibc의 감가상각 __malloc_hook 기능에 대한 대안 (0) | 2023.09.17 |
MySQL varchar 인덱스 길이 (0) | 2023.09.17 |