![]() |
1
4
你的主回路是O( 米 * n )在哪里 米 和 n 是新旧列表的大小。这很糟糕。更好的方法可能是先构建一组关键元素映射,然后再对它们进行处理。另外,避免反射也是一个好主意——lambda可以用作键选择器。所以:
为了复制属性,我也会避免反射——或者为它创建一个接口,类似于
|
![]() |
2
1
我不确定
这将允许您使用LINQ,而不必每次生成新的列表。 |
![]() |
3
0
建议:
而不是
让你前进的例子:
|
![]() |
4
0
谢谢你的回复。我使用了Pavel非常漂亮的解决方案,并对其进行了轻微的修改,使其不使用var对象(也不确定您从哪里得到的
我不知道怎么用,为什么用
还有没有其他方法可以在不使用反射的情况下比较对象的属性,因为我不希望在所有可能使用此扩展方法的对象上实现一个特殊的接口?我想简单地超越
谢谢。 |
![]() |
5
0
为了根据Pavel的原始答案将这个问题更新为我的解决方案的最新版本,下面是代码的最新版本,它修复了原始版本的一些问题,特别是在维护顺序、特别处理可观察到的集合以及处理没有关键字段的集合方面:
|
![]() |
Bernhard Gratzl · 合并具有不同时间戳的表? 9 月前 |
![]() |
Camila · 如何在R中连接多个数据帧中的选定列 1 年前 |
![]() |
mr.T · 合并两个不同大小的数据帧,不使用关键字[重复] 1 年前 |
![]() |
itan mare · rtk查询合并数据,标签,突变 1 年前 |
![]() |
Casey · 合并数据以创建R中的纵向数据帧 1 年前 |
![]() |
lolo · 通过在一列上混合值来连接/合并多个panda数据帧 1 年前 |
![]() |
isthisthat · 基于模式匹配的两个数据表的连接 1 年前 |