C# 如何获得;剩菜;Linq联接后的记录

C# 如何获得;剩菜;Linq联接后的记录,c#,linq,join,C#,Linq,Join,我使用一些条件将两个对象列表合并到一个新列表中。加入后,获取未加入加入的剩余项目的最佳方法是什么 //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

我使用一些条件将两个对象列表合并到一个新列表中。加入后,获取未加入加入的剩余项目的最佳方法是什么

//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(...);
//line是一个内部对象,在这里不重要
List main=ReadMainLines()//读主线
List ref=ReadReferenceLines()//读取包含附加数据的行
IEnumerable result=main.Join(…);

到目前为止我还不错。我正在使用结果做一些额外的处理。我的挑战是从main中获取连接结果中没有的其余行。最好的方法是什么?

如果您想要
ref
中的内容,而不是
main
中的内容,您可以使用
。如图所示的
除外

ref.Except(main)
-如果您想要相反的结果,那么它就是
main.Except(ref)
。 现在,您需要为类型
编写一个


另外,不要使用
ref
作为变量名,它是C#中的关键字。

如果您想要
ref
中的内容,而不是
main
中的内容,则可以使用
。如图所示,
除外

ref.Except(main)
-如果您想要相反的结果,那么它就是
main.Except(ref)
。 现在,您需要为类型
编写一个


另外,不要使用
ref
作为变量名,它是C#中的一个关键字。

你能发布你的完整加入吗?您可以只选择与条件相反的记录来获取剩余内容。您可以使用,然后带有
reference
值的行就是您现在拥有的(内部联接),带有null的行就是其余的。我在发布代码时遇到问题。。。我已经研究了左外连接选项并对其进行了研究。我的挑战是结果变量的类型是IEnumerable,IEnumerable变量中有多个Line对象。我只需要搜索该行[]中的第一行对象,如何在Linq中进行搜索?使用first()方法。请参阅msdn:您可以发布您的完整加入吗?您可以只选择与条件相反的记录来获取剩余内容。您可以使用,然后带有
reference
值的行就是您现在拥有的(内部联接),带有null的行就是其余的。我在发布代码时遇到问题。。。我已经研究了左外连接选项并对其进行了研究。我的挑战是结果变量的类型是IEnumerable,IEnumerable变量中有多个Line对象。我只需要搜索该行[]中的第一行对象,如何在Linq中进行搜索?使用first()方法。见msdn: