|
|
1
4
您可以使用除交叉和实现IEqualityComparer之外的方法,如下所示:
这本质上是 Enumerable.SelectMany method 以查询格式。加入可能比这种方法更快。 |
|
|
2
2
考虑使用多条件联接来联接记录。交叉会使你在左边或右边丢失ID。 下面是一个针对这个特定场景的工作多列联接的示例。此查询的吸引力在于它不需要相等比较器,并且允许您在连接其他指定列时检索ID列。
|
|
|
3
1
你需要把你的
注意,密封类使相等性测试更简单。还请注意,如果您将其中一个作为键放在字典中,然后更改ID、shouldmatch1或othermatch2,您将无法再次找到它…
如果你用的是
真实的
匿名类型,你不能这样做…而且很难实现
您可以这样使用它:
你最后会得到一个
另一种选择是使用联接:
(编辑:我刚刚注意到其他人也加入了…啊,好吧。) 然而 另一个 如果您只对匹配的位感兴趣,可以选择投影序列:
|
|
|
4
0
您需要一个相等比较器:
然后,可以将集合与以下项相交:
或者,可以重写
也请不要那样
|