使用 LINQ 删除列表中的项目 [重复]
Posted
技术标签:
【中文标题】使用 LINQ 删除列表中的项目 [重复]【英文标题】:Removing items in List using LINQ [duplicate] 【发布时间】:2014-02-18 06:46:11 【问题描述】:我有一个实体类型的列表
列表
public class OrderLine
public string productCode;
public int quantity;
如果 productCode 等于某些产品,我需要从上述列表中删除项目。
List<string> ProductsToBeExcluded = new List<string>()"1234","1237";
所以,我需要从 List<OrderLine>
删除等于 1234 和 1237 的产品
我试过了
使用从List<OrderLine>
创建一个List<string>
List<OrderLine> OrderLines = GetOrderLines();
var ol = from o in OrderLines
select o.ProductCode;
2.
List<string> ProductsToBeExcluded = new List<string>()"1234","1237";
var filtered = OrderLines.Except(ProductsToBeExcluded);
如何进一步删除
谢谢
【问题讨论】:
【参考方案1】:在这种情况下,您不需要 LINQ,但可以改用 List<T>.RemoveAll
OrderLines.RemoveAll(x => ProductsToBeExcluded.Contains(x.ProductCode));
【讨论】:
【参考方案2】:使用接受谓词的List
的RemoveAll
方法
OrderLines.RemoveAll(x => ProductsToBeExcluded.Contains(x.ProductCode));
【讨论】:
以上是关于使用 LINQ 删除列表中的项目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章