在PowerShell中查询LINQ样式列表 [英] Query a list LINQ-style in PowerShell
本文介绍了在PowerShell中查询LINQ样式列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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不同并选择类型等于1的对象?如何将LINQ与PowerShell配合使用?
Is there a way to select distinct from $codes and select the objects where type equals 1? How can I use LINQ with PowerShell?
推荐答案
基思说的话.另外,在C#中更改了构造函数,并在Sort cmdlet上使用了-Unique参数.
What Keith said. Plus, changed the constructor in your C# and used the -Unique parameter on the Sort cmdlet.
Add-Type -Language CSharpVersion3 -TypeDefinition @"
public class pack_code
{
public pack_code(string code, string type) {
this.code=code;
this.type=type;
}
public string code { get; set; }
public string type { get; set; }
}
"@
$codes = New-Object 'System.Collections.Generic.List[object]'
$codes.Add( ( New-Object pack_code 3, 5 ))
$codes.Add( ( New-Object pack_code 2, 5 ))
$codes.Add( ( New-Object pack_code 2, 5 ))
$codes.Add( ( New-Object pack_code 1, 1 ))
$codes.Add( ( New-Object pack_code 2, 2 ))
$codes.Add( ( New-Object pack_code 2, 1 ))
$codes.Add( ( New-Object pack_code 2, 1 ))
$codes | sort code, type -Unique | where {$_.type -eq 1}
这篇关于在PowerShell中查询LINQ样式列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文