gpt4 book ai didi

linq - 比较两个列表并返回不同的值和差异

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

我有两个 list :

List A {A, B, C, D}

List B {A, E, F, G}

我需要生成三个列表:

一个只有列表 A 中的项目

(乙、丙、丁)

一个只有列表 B 中的项目

(E, F, G)

一个同时包含两个项目

(一种)

鉴于列表实际上是注册表项,它们的数量可能很大,因此如果我选择使用传统的 ForEach 或 For(int i...) 方法,我可以预见到巨大的性能开销。

如果他们能有效地完成工作,我并不反对这些,但我更喜欢使用 Linq。

有没有人有任何想法?

我不在乎相同的记录。

我已经创建了一个 IEquatable<>将比较元素的类,但它是如何使用它来创建我正在努力解决的所需输出。

提前致谢。

顺便说一句,我在 .NET 4.5 中使用 VS2012

最佳答案

var A = new List<string>() { "A", "B", "C", "D" };
var B = new List<string>() { "A", "E", "F", "G" };

A.Except(B).ToList()
// outputs List<string>(2) { "B", "C", "D" }
B.Except(A).ToList()
// outputs List<string>(2) { "E", "F", "G" }
B.Intersect(A).ToList()
// outputs List<string>(2) { "A" }

关于linq - 比较两个列表并返回不同的值和差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18099054/

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