gpt4 book ai didi

arrays - Powershell:当数组中只剩下一个对象时如何正确计算对象数组中的项目数

转载 作者:行者123 更新时间:2023-12-02 16:21:10 24 4
gpt4 key购买 nike

我有一个对象数组,每个对象都有 N 个属性。我使用 Where-Object 执行子集操作,例如:

$mySubset = $myArrayOfObjects | Where-Object {($_.Property1 -eq 'ABC') -and ($_.Property2 -eq 'DEF')}

然后我需要检查这个数组中有多少个对象。我这样做:

$mySubset.Count

当子集数组中有多个对象时,它会显示对象的数量。但是当我在 $mySubset 中只剩下一个对象时 - 它不会将其视为具有一个元素的数组,并且 $mySubset.Count 返回 N - 中的属性数每个对象。这就是问题。在这种情况下,如何说服 Powershell 将 $mySubset 视为包含 1 个项目的数组?

最佳答案

最符合 PowerShell 习惯的解决方案是使用 @()array-subexpression operator ,这确保命令的输出被视为数组,即使只返回一个对象也是如此:

$mySubset = @($myArrayOfObjects | ...)

直接获取计数:@($myArrayOfObjects | ...).Count

您还可以使用 [array] 类型约束 - 本质上,将强制转换放置在目标变量的左侧 - 它不需要修改右手:

[array] $mySubset = $myArrayOfObjects | ...

关于arrays - Powershell:当数组中只剩下一个对象时如何正确计算对象数组中的项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65431265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com