1. Union
去重:Union 会返回两个序列的并集,自动去除重复项(基于默认的相等性比较器或自定义的IEqualityComparer)。
用法:常用于需要合并并去重的场景。
示例:
var list1 = new List<int> { 1, 2, 3 };
var list2 = new List<int> { 3, 4, 5 };
var result = list1.Union(list2); // 结果:1, 2, 3, 4, 5
2. Concat
不去重:Concat 只是简单地将两个序列连接起来,顺序保留,重复项不会去除。
用法:常用于需要保留所有元素(包括重复项)的合并。
示例:
var list1 = new List<int> { 1, 2, 3 };
var list2 = new List<int> { 3, 4, 5 };
var result = list1.Concat(list2); // 结果:1, 2, 3, 3, 4, 5
总结
Union:合并并去重。
Concat:合并不去重,顺序保留。