私はpowershellの初心者で、C#は適度にうまくいます。最近、私はこのPowerShellスクリプトを書いていて、ハッシュセットを作りたがっていました。だから私は書いた($ azAzは配列である)Powershellの配列引数を使用してコンストラクタを呼び出す
と押された。その後
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でコンストラクタをGoogleで検索してにコードを変更:私はこのメッセージが表示されましたどういうわけか
[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: "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
HashSetと引数count 1のオーバーロードが見つかりませんか?私をからかってるの?ありがとう。
なぜにカンマ(、$ azAZ)?? –
私は知らない、私はGoogleの検索からそれを得た。私は記事を読んだこともなく、少なくとも$ azAZを1つの引数として扱うためにはpowershellを持っていました。おそらくカンマが別の引数を示しているからでしょうか? – irisjay
コンマは配列作成演算子であるため、$ azAZを$ azAZという単一要素の配列にします。@($ azAZ)は配列の配列を作成する明確な方法です。 – Massif