【发布时间】:2011-01-02 07:43:54
【问题描述】:
List<string> a = new List<string>() { "a", "b", "c" };
List<string> b = new List<string>() { "a", "b", "c", "d", "e", "f" };
b.RemoveAll(a.Contains);
如果你遍历 b,它现在将只包含 d e 和 f。任何人都可以扩展实际发生的事情,因为目前它根本没有任何意义。
编辑:我更多的是谈论谓词的使用。如何知道如何将什么传递到哪里?
【问题讨论】:
-
伙计,我很难再像新手一样思考了。这对我来说很有意义。
-
值得一提的是,在 .NET 2.0(和“C# 2.0”)之前,这个 sn-p 不起作用...编译器正在从 a.Contains 方法创建一个匹配的委托。在 2.0 之前的模式下,您必须自己创建委托 (new Predicate
(a.Contains)) -
嗯,List 类在 .NET 2.0 之前也不存在,但这不是我的意思。
标签: c# .net linq .net-3.5 lambda