[英]Comparing array of objects in Powershell
我在Powershell
有兩個不同的對象:
一個是使用New-Object
實例化的"Project"
類。 其中每個都包含2個properties
。
第二個只是一個字符串數組。
現在,我想刪除不在第二個數組中的Project
數組中的Project
。
例如。 在Linq
,我會做這樣的事情:
var result = from item in arrayOfStrings
from project in arrayOfProjects
where project.Property2 == item
select project;
這個查詢會在第一個列表中找到不在第二個列表中的任何內容。
我沒有成功的嘗試:
$result = $projects | Where-Object { $_.Property2 -eq $arrayOfStrings | Select-Object }
謝謝
編輯
這個類看起來像這樣:
public class Project
{
public string Name {get; set;}
public string Guid {get; set;}
}
第二個數組只是填充了一些Guids。 我想獲得$queryResult
與第二個數組中的項目。
$projects | Where-Object { $arrayOfStrings -Contains $_.Name }
或者使用“in”運算符:
$projects | Where-Object { $_.Name -in $arrayOfStrings }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.