4

値を -1 に初期化する次のコードがあります。

Set-Variable -Name ID -Value -1 -Scope local

こうやってみると、

$local:ID++

次のエラーが表示されます。

「++」演算子は数値に対してのみ機能します。オペランドは「System.String」です。

これを暗黙的にintと見なすと思いました。しかし、きちんとしていない回避策を使用する必要があります。

回避策:

$intVal = [int]$local:ID
$intval ++

別のアプローチはありますか?

4

1 に答える 1

3

$id は文字列です (その型を見つけるには $id.gettype() と入力します)。整数として初期化するには、括弧で囲みます。

PS> Set-Variable -Name ID -Value (-1) -Scope local
PS> ($local:ID++) #increment and print the variable 
0
于 2012-05-14T13:14:11.557 に答える