저는 powershell의 초보자이며 C#이 적당하다는 것을 알고 있습니다. 최근 필자는이 powershell 스크립트를 작성하여 Hashset을 만들고 싶었습니다. 그래서 나는 썼다. ($ azAz는 배열이다.)Powershell의 배열 인수로 생성자를 호출합니다.
그리고 누름. 나는이 메시지를 가지고 :
New-Object : Cannot find an overload for "HashSet`1" and the argument count: "1".
At C:\Users\youngvoid\Desktop\test5.ps1:10 char:55
+ [System.Collections.Generic.HashSet[string]]$allset = New-Object System.Collecti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
: 지금이 메시지가, 어떻게 든
[System.Collections.Generic.HashSet[string]]$allset = New-Object System.Collections.Generic.HashSet[string](,$azAZ)
: 다음
New-Object : Cannot find an overload for "HashSet`1" and the argument count: "52".
At filename.ps1:10 char:55
+ [System.Collections.Generic.HashSet[string]]$allset = New-Object System.Collecti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
을, 나는 배열 매개 변수와 PowerShell에서 생성자를 봤와에 코드를 변경 HashSet 및 인수 개수 1에 대한 오버로드를 찾을 수 없습니까? 농담하니? 감사.
이유에서 쉼표 (, $ azAZ) ?? –
나는 몰라, 나는 Google 검색에서 그것을 얻었다. 나는 기사를 완전히 읽지는 못했지만 적어도 $ azAZ를 1 개의 인수로 취급하는 powershell을 얻었다. 쉼표가 별도의 인수를 표시했기 때문일 수 있습니다. – irisjay
쉼표는 배열 생성 연산자이기 때문에 $ azAZ를 $ azAZ의 단일 요소로 배열에 저장합니다. @ ($ azAZ)는 배열 배열 하나를 만드는 더 명확한 방법이라고 생각합니다. – Massif