我在 Powershell
中有两个不同的对象:
其中一个正在使用用
New-Object
实例化的“Project”
类。其中每一个都包含 2 个属性
。第二个只是一个字符串数组。
现在,我想删除 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;}
}
第二个数组只是填充了一些 Guid。我想用第二个数组中的项目获取 $queryResult
。
最佳答案
$projects | Where-Object { $arrayOfStrings -Contains $_.Name }
或者使用“in”运算符:
$projects | Where-Object { $_.Name -in $arrayOfStrings }
关于c# - 比较 Powershell 中的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31590874/