我有一个PowerShell 5.0函数,我正试图使用​​它返回一些下游 Activity 中使用的数据表。但是,每次将其放入变量时,似乎都会返回重复项:

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 - PowerShell函数在DataTable中返回重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48721593/

10-13 07:45