使用LINQ删除List中的项目

CSh*_*ped 2 c# linq

我有一个类型列表的实体

名单

public class OrderLine
{
   public string productCode;
   public int quantity;


}
Run Code Online (Sandbox Code Playgroud)

如果productCode等于某些产品,我需要从上面的列表中删除项目.

List<string> ProductsToBeExcluded = new List<string>(){"1234","1237"};
Run Code Online (Sandbox Code Playgroud)

所以,从List<OrderLine>我需要删除等于1234和1237的产品

我试过了

  1. 创建一个List<string>List<OrderLine>使用

      List<OrderLine> OrderLines = GetOrderLines();
      var ol = from o in OrderLines
            select o.ProductCode;
    
    Run Code Online (Sandbox Code Playgroud)

2.

  List<string> ProductsToBeExcluded = new List<string>(){"1234","1237"};
   var filtered = OrderLines.Except(ProductsToBeExcluded);
Run Code Online (Sandbox Code Playgroud)

如何进一步删除

谢谢

Jar*_*Par 7

在这种情况下,你不需要LINQ,但可以直接使用List<T>.RemoveAll,而不是

OrderLines.RemoveAll(x => ProductsToBeExcluded.Contains(x.ProductCode));
Run Code Online (Sandbox Code Playgroud)