如果我有两个列表,并且我想创建一个新的第三个列表,其中只有两个列表中的公共元素(查询中的位置)可以使用此代码:
var listC = listB.Join(listA, b => b.ObjectAId, a => a.Id, (b, a) => b).ToList();
这种方式具有 O(n) 复杂度。
但是,我也可以通过这种方式使用 select 方法:
var lstC = listA.Where(r => listB.Contains(r).ToList();
第二种方式也是 O(n) 吗?
如果这两种方式具有相同的效率,那么它们之间有哪些不同之处?
谢谢。