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: