c# - 比较 Powershell 中的对象数组

标签 c# arrays linq powershell

我在 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/

相关文章:

c# - 在linq中对字符串列求和

C# mvc4 ViewResult 如何设置 Controller 和区域?

c# - 如何构造并保存到数据库以供以后使用半任意 lambda 表达式?

c# - 在多级 wpf View 中验证子记录

javascript - 将数组发送到 JQuery 中的对象构造函数

c# - 如何将此 map-reduce javascript 代码呈现为等效的 LINQ Select-Aggregate?

c# - 创建可在 LINQ (EF) 中使用的辅助方法

c# - 如何消除 WPF 输出窗口中的绑定(bind) “Information” - 无法使用绑定(bind)检索值

来自数组的 Javascript 函数

javascript - 奇怪的 ng-model 行为(ng-model 映射到数组元素)