我正在使用某些条件将两个对象列表合并为一个新列表。加入后,获取剩余未加入的剩余项目的最佳方法是什么?
//line is an internal object, not important here
List<Line> main = ReadMainLines(); //read the main lines
List<Line> ref = ReadReferenceLines(); //read the lines that contain addtional data
IEnumerable<Line[]> result = main.Join(...);
到目前为止我还不错。我正在使用结果进行一些其他处理。我的挑战是要从main中获得其余行,而不是加入结果中。最好的方法是什么?
答案 0 :(得分:0)
如果您想要ref
中的内容而不是main
中的内容,则可以使用here中的.Except
。
ref.Except(main)
-如果您想要相反的选择,那就只是main.Except(ref)
。
现在,您需要为类型Line
写一个IEquatableComparer。
此外,不要使用ref
作为变量名,它是C#中的关键字。