使用c#和Linq创建一个数组,其中包含来自两个输入数组的唯一项
本文关键字:数组 两个 唯一 输入 包含 Linq 创建 使用 一个 | 更新日期: 2023-09-27 17:50:35
我有两个包含文件名的字符串数组。从这两个数组中,我需要生成第三个字符串数组,它只包含唯一的文件名(即,在一个数组中找到,但不能在两个数组中找到)。
var elements = array1.Union(array2).Except(array1.Intersect(array2));
考虑使用HashSet<T>
。它有一个你正在寻找的实现。
var setA = new HashSet<string>(arrayA);
setA.SymmetricExceptWith(arrayB); // setA is mutated
显然,您需要度量初始化HashSet
的成本是否值得。