gpt4 book ai didi

linq - LINQ 除外如何工作?

转载 作者:行者123 更新时间:2023-12-03 08:53:28 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




8年前关闭。




Possible Duplicate:
LINQ find differences in two lists



我想找到两个系列之间的区别。所以我正在使用 Except在 LINQ 语句中。但是 Except似乎只有在第一个集合比第二个集合长时才有效。例如,即使 2 个集合不同,这也不会返回任何结果。
double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };

IEnumerable<double> onlyInFirstSet = numbers2.Except(numbers1);
任何人都可以确认是否是这种情况?如果是这样,我是否必须在编写查询之前检查集合长度,因为我不知道在编译时哪个集合会更大。
编辑
我想我的问题不清楚。我不在乎哪个集合包含什么。我只想找到 2 个集合之间的差异。我怎样才能做到这一点?

最佳答案

取自 101 LINQ Samples :

int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; 
int[] numbersB = { 1, 3, 5, 7, 8 };

IEnumerable<int> aOnlyNumbers = numbersA.Except(numbersB);

Console.WriteLine("Numbers in first array but not second array:");
foreach (var n in aOnlyNumbers)
{
Console.WriteLine(n);
}

结果

第一个数组中的数字但不是第二个数组中的数字:
0
2
4
6
9

关于linq - LINQ 除外如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12479522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com