簡體   English   中英

比較Powershell中的對象數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM