这是我的密码
$fourCount = 0
$rowCount = 0
foreach($row in $ResultsTable){
if ($row.'RowType' -eq 6) {
if ($fourCount -gt 0) {
#Sort-Object {$row.'CheckDate'} - descending
$remainAmount = $currentAmount - $checkAmount
$ResultsTable.Rows[$rowCount - 1].'Final' = $remainAmount
$currentAmount = @()
$fourCount = 0
$remainAmount = 0
}
$checkAmount = [int]$row.'amount'
$rowCount = $rowCount + 1
} elseif ($row.'RowType' -eq 4) {
if($row.'current'.Length -eq $NULL) {
Continue
} else {
$currentAmount += [int]$row.'current'
$rowCount = $rowCount + 1
$fourCount++
}
} else {
Continue
}
}当我运行代码时,我遇到的问题是
方法调用失败,因为[System.Object[]]不包含一个名为'op_Subtraction‘的方法。 $remainAmount = $currentAmount - <<<< $checkAmount CategoryInfo : InvalidOperation:(op_Subtraction:String)[],RuntimeException FullyQualifiedErrorId : MethodNotFound
根据我所读到的,我正在将所有内容转换为int,但它仍然没有运行。有人能告诉我为什么吗?
发布于 2014-04-25 17:57:14
在第9行,您将$currentAmount初始化为空数组:
$currentAmount = @()然后,将int项积累到该数组中:
$currentAmount += [int]$row.'current'所以你拥有的是一个整数数组。
最后,您尝试使用该数组执行减法操作:
$remainAmount = $currentAmount - $checkAmount结果失败了。
错误消息中的[Type[]]语法表明它是一个数组,因此不能对其执行减法操作。
https://stackoverflow.com/questions/23299708
复制相似问题