【发布时间】:2010-10-22 15:14:24
【问题描述】:
当我有 2 个List<string> 对象时,我可以直接在它们上使用Intersect 和Except 来获得输出IEnumerable<string>。这很简单,但是如果我想要更复杂的东西上的交集/析取呢?
例如,试图获取ClassA 对象的AStr1 和ClassB 对象的BStr 相交的结果的ClassA 对象集合; :
public class ClassA {
public string AStr1 { get; set; }
public string AStr2 { get; set; }
public int AInt { get; set; }
}
public class ClassB {
public string BStr { get; set; }
public int BInt { get; set; }
}
public class Whatever {
public void xyz(List<ClassA> aObj, List<ClassB> bObj) {
// *** this line is horribly incorrect ***
IEnumberable<ClassA> result =
aObj.Intersect(bObj).Where(a, b => a.AStr1 == b.BStr);
}
}
我怎样才能修复注意到的线来实现这个交叉点。
【问题讨论】:
标签: c# linq-to-objects intersect