add-type -Language CSharpVersion3 -TypeDefinition @"
public class pack_code
{
public pack_code() {}
public string code { get; set; }
public string type { get; set; }
}
"@
$a = New-Object pack_code
$a.code = "3"
$a.type = "5"
$b = New-Object pack_code
$b.code = "2"
$b.type = "5"
$c = New-Object pack_code
$c.code = "2"
$c.type = "5"
$d = New-Object pack_code
$d.code = "1"
$d.type = "1"
$codes = New-Object 'System.Collections.Generic.List[object]'
$codes.add($a)
$codes.add($b)
$codes.add($c)
$codes.add($d)
有没有办法选择与 $codes 不同的对象并选择 type 等于 1 的对象?如何将 LINQ 与 PowerShell 结合使用?
为了不同的用途Select-Object
cmdlet(别名为Select
) 与 Unique 参数,例如:
PS> 1,2,3,4,4,2 | Select-Object -Unique
1
2
3
4
对于过滤,请使用Where-Object
cmdlet(别名为Where
and ?
):
PS> $codes | where {$_.Type -eq '1'}
至于 LINQ,您不能在 PowerShell 中使用 LINQ 运算符,因为 PowerShell 不支持调用对 LINQ 至关重要的通用 .NET 方法或静态扩展方法。
Editor's note: PSv3+ now does support those things.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)