C# 比较Powershell中的对象数组
我在Powershell中有两个不同的对象: 一种是使用用新对象实例化的项目类。每个属性都包含2个属性 第二个是字符串数组 现在,我想删除Project数组中不在第二个数组中的项目C# 比较Powershell中的对象数组,c#,arrays,linq,powershell,C#,Arrays,Linq,Powershell,我在Powershell中有两个不同的对象: 一种是使用用新对象实例化的项目类。每个属性都包含2个属性 第二个是字符串数组 现在,我想删除Project数组中不在第二个数组中的项目 $projects | Where-Object { $arrayOfStrings -Contains $_.Name } 比如说。在Linq中,我会这样做: var result = from item in arrayOfStrings from project in arrayOf
$projects | Where-Object { $arrayOfStrings -Contains $_.Name }
比如说。在Linq中,我会这样做:
var result = from item in arrayOfStrings
from project in arrayOfProjects
where project.Property2 == item
select project;
public class Project
{
public string Name {get; set;}
public string Guid {get; set;}
}
此查询将获取第一个列表中不在第二个列表中的任何内容
我的尝试没有成功:
$result = $projects | Where-Object { $_.Property2 -eq $arrayOfStrings | Select-Object }
多谢各位
编辑
该类如下所示:
var result = from item in arrayOfStrings
from project in arrayOfProjects
where project.Property2 == item
select project;
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 }
或使用in运算符:
$projects | Where-Object { $_.Name -in $arrayOfStrings }
您不能编辑问题并显示对象的结构吗?否则很难知道你在问什么。但是,我认为您不需要最终的Select对象,在那里,Object将执行Select操作。我在编辑中添加了该类。是的,我想我不需要它了。但是,我对Powershell$projects不太熟悉|在$ArrayOfstrings中,对象属性2-您能否编辑问题并显示对象的结构?否则很难知道你在问什么。但是,我认为您不需要最终的Select对象,在那里,Object将执行Select操作。我在编辑中添加了该类。是的,我想我不需要它了。但是,我对Powershell$projects不太熟悉,其中$arrayOfStringsNote中的对象属性2是从Powershell版本3开始的。非常感谢你们两位。Note是从Powershell版本3开始的。非常感谢你们两位