반응형
PowerShell에서 어레이의 어레이에 어레이 추가
디스크에 있는 CSV 파일을 사용하여 PowerShell에서 다차원 어레이를 프로그래밍 방식으로 구축하려고 합니다.저는 배열을 임시 변수로 가져온 다음 배열을 배열에 추가하고 있습니다.어레이 어레이 대신 전체 행 수가 포함된 단일 어레이를 사용합니다.소규모 어레이를 사용하여 이 문제를 해결한 결과 다음과 같은 것을 발견했습니다.
$array1 = "11","12","13"
$array2 = "21","22","23"
$array3 = "31","32","33"
$arrayAll = $array1, $array2, $array3
$arrayAll.Count # returns 3
$arrayAll = @();
$arrayAll += $array1
$arrayAll += $array2
$arrayAll += $array3
$arrayAll.count # returns 9
어레이를 구축하는 첫 번째 방법은 작동하지만 두 번째 방법을 사용할 수 있어야 합니다.이거 어떻게 고쳐요?
일반적인 gotcha이며 어레이(및 기타 컬렉션)가 "예상치 못한" 전개될 수 있습니다.쉼표 연산자를 사용합니다(단일 항목으로 배열을 만들고 적용하며 롤링을 방지함).
$array1 = "11","12","13"
$array2 = "21","22","23"
$array3 = "31","32","33"
$arrayAll = $array1, $array2, $array3
$arrayAll.Count # returns 3
$arrayAll = @()
$arrayAll += , $array1
$arrayAll += , $array2
$arrayAll += , $array3
$arrayAll.count # returns 3
$arrayAll[1] # gets "21","22","23", i.e. $array2
당신이 무엇을 찾고 있는지 잘 모르겠지만 도움이 될 수 있습니다.
PS> $arrayAll = New-Object int[][] (3,3)
PS> $arrayAll[0] = $array1
PS> $arrayAll[1] = $array2
PS> $arrayAll[2] = $array3
PS> $arrayAll.Count
3
PS> $arrayAll[1][2]
23
배열을 코딩하는 방법입니다.
2차원 배열을 코딩하는 방법은 다음과 같습니다.
PS> $arrayAll = New-Object 'int[,]' (3,3)
PS> $arrayAll[2,0] = 12
언급URL : https://stackoverflow.com/questions/6157179/append-an-array-to-an-array-of-arrays-in-powershell
반응형
'programing' 카테고리의 다른 글
if 문에서 부울 값 (0) | 2023.07.24 |
---|---|
PLS-00231:함수는 SQL에서 사용할 수 없습니다. (0) | 2023.07.24 |
최대 절전 모드에서 Oracle Date를 사용하는 경우 날짜/시간에 대한 Java 유형 (0) | 2023.07.24 |
Require는 빈 개체를 반환합니다. (0) | 2023.07.24 |
기본값의 스프링 @값 이스케이프 콜론(:) (0) | 2023.07.24 |