在 .NET 2.0 中组合两个 List 的好方法是什么?
我有两个列表需要形成并集,但我使用的是 .NET 2.0,因此 Union() 方法似乎已失效。这些是整数列表,因此相等比较没有问题。解决这个问题有什么好的方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以将它们添加在一起并删除重复项:
You could just add them together and remove the duplicates:
怎么样(使用字典键作为哈希表):
这将维持
first
和second
中的项目顺序,同时仍然使用 O(1) 检查两个之间的重复项目。列表What about (using Dictionary keys as a hashtable):
This will maintain the item order in
first
andsecond
, while still using an O(1) check for duplicate items between the lists一个简单的 foreach 怎么样,仅添加列表中尚未存在的元素:
这将保留列表的顺序。
How about a simple foreach, only adding elements that aren't already in the list:
This will preserve the order of the lists.
您可以使用 linqbridge 让您在仍以 Framework 2.0 为目标的情况下使用 LINQ to Objects,如果您有 Visual Studio 2008。
并推动、推动、推动迁移到 .NET 3.5。 LINQ 和 lambda 改变了您思考代码的方式(恕我直言,是为了更好)。
You could use linqbridge to let you use LINQ to Objects while still targeting Framework 2.0, if you have Visual Studio 2008.
And push, push, push to move to .NET 3.5. LINQ and lambdas change the way you think about code (for the better, IMHO).