确定 PSCustomObject 数组是否包含具有 属性 值的实例
Determine if an array of PSCustomObject's contains an instance with a property value
我需要确定 PSCustomObject
的数组是否包含其 Title
属性 匹配值的项目。我需要一个用于 Pester 断言的布尔值:
$Items -<function> $Name | Should Be $True
假设:
$Items = @()
$Items += [PsCustomObject]@{Title='foo';Url='http://f.io'}
$Items += [PsCustomObject]@{Title='bar';Url='http://b.io'}
Contains
不起作用:
PS> $Items -contains 'foo'
False
Match
returns 匹配实例,但不是布尔值:
PS> $Items -match 'foo'
Title Url
----- ---
foo http://f.io
我想我可以:
($Items -Match $Name).Count | Should Be 1
还有更好的选择吗?
使用:
$Items.Title -contains 'foo'
我需要确定 PSCustomObject
的数组是否包含其 Title
属性 匹配值的项目。我需要一个用于 Pester 断言的布尔值:
$Items -<function> $Name | Should Be $True
假设:
$Items = @()
$Items += [PsCustomObject]@{Title='foo';Url='http://f.io'}
$Items += [PsCustomObject]@{Title='bar';Url='http://b.io'}
Contains
不起作用:
PS> $Items -contains 'foo'
False
Match
returns 匹配实例,但不是布尔值:
PS> $Items -match 'foo'
Title Url
----- ---
foo http://f.io
我想我可以:
($Items -Match $Name).Count | Should Be 1
还有更好的选择吗?
使用:
$Items.Title -contains 'foo'