我有以下代码将值初始化为-1:
Set-Variable -Name ID -Value -1 -Scope local
当我这样做的时候,
$local:ID++
我收到以下错误:
'++'运算符仅适用于数字。操作数是一个 'System.String'。
我认为它会隐含地将其视为int。但是,我必须使用一个不整洁的解决方法:
解决方法:
$intVal = [int]$local:ID
$intval ++
还有其他方法吗?
答案 0 :(得分:3)
$ id是一个字符串(类型$ id.gettype()来查找其类型)。要将其初始化为整数,请将其放在括号中:
PS> Set-Variable -Name ID -Value (-1) -Scope local
PS> ($local:ID++) #increment and print the variable
0