【发布时间】:2025-12-26 18:50:06
【问题描述】:
我有 2 个列表,比如 list1 和 list2。喜欢
List<int> list1 = {1,2,3};
List<int> list2 = {3,4};
现在我希望我的结果列表像
{1,2,3,4}
我试过了
result= list1.Union(list2).ToList();
但它给出的结果像
{1,2,3,3,4}
谁能帮我解决这个问题?
【问题讨论】:
-
请发minimal reproducible example,我无法重现你描述的行为,你描述的是调用
.Concat的结果,而不是.Union,.Union的行为正是你说你想要的。因此,您必须发布minimal reproducible example,以便我们可以准确地看到您在做什么。 -
可能你有没有实现
IComparable的对象列表 -
您的代码在我测试时返回了
{1,2,3,4}。真的是你在做什么吗? -
请记住,如果您不是实际上比较数字,而是您自己的类型,则必须覆盖
GetHashCode和Equals以便.Union知道如何比较你的类型。但是,在您发布的特定示例中,代码已经完成了您希望它执行的操作。