我有一个 PowerShell 5.0 函数,我试图用它来返回在某些下游事件中使用的数据表。但是,每次我将其放入变量时,它似乎都会返回重复项,如下所示:
function GetTable {
$tbl = New-Object "System.Data.DataTable"
$tbl.Columns.Add("testNum").DataType = [string]
for($i=0; $i -lt 3; $i++){
$tbl.Rows.Add($i)
}
Write-Host $tbl.Rows.Count
return $tbl
}
$test = GetTable
$test.Rows.Count
输出:
3
6
为什么函数返回数据表时会重复数据?
最佳答案
这是因为 Add
方法返回添加的元素,因此它也会到达管道。您可以通过将结果通过管道传输到 Out-Null 来简单地解决此问题:
function GetTable {
$tbl = New-Object "System.Data.DataTable"
$tbl.Columns.Add("testNum").DataType = [string]
for($i=0; $i -lt 3; $i++){
$tbl.Rows.Add($i) | Out-Null
}
Write-Host $tbl.Rows.Count
return $tbl
}
$test = GetTable
$test.Rows.Count
关于PowerShell 函数返回 DataTable 中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48721593/