c# – 如何获取列表中和不在列表中的项目

c# – 如何获取列表中和不在列表中的项目,第1张

概述我有一个IEnumerable,listOfOnes和一个IEnumerable,listOfTwos. 假设我可以将V的对象与T的对象进行比较,我想找到哪些项目在listOfOnes中,但不在listOfTwos中.反之亦然. 例如: var listOfOnes = new List<One> { new One { 我有一个IEnumerable,listofOnes和一个IEnumerable,listofTwos.

假设我可以将V的对象与T的对象进行比较,我想找到哪些项目在listofOnes中,但不在listofTwos中.反之亦然.

例如:

var listofOnes = new List<One>        {            new One            {                name = "chris",type = "user"            },new One            {                name = "foo",type = "group"            },new One            {                name = "john",};        var listofTwos = new[]        {            new Two            {                name = "chris",new Two            {                name = "john",new Two            {                name = "the Steves",type = "group"            }        };        var notinTwos; //= listofOnes.FindDifferences(listofTwos);         //find all objects not in listofTwos. Should find 'foo'.        var notinOnes; //= listofTwos.FindDifferences(listofOnes)        //find all objects not in listofOnes. Should find 'the Steves'.
解决方法 如果您可以将其中一种类型转换为另一种类型,则可以使用 Except和 Intersect,例如:

listofOnes.Except(listofTwos.Cast<One>())

否则,如果它等于第二个列表中的任何元素,则可以测试第一个列表中的每个元素:

var notinTwos = listofOnes.Where(one =>    !listofTwos.Any(two => two.Equals(one)));

这不会那么快.

总结

以上是内存溢出为你收集整理的c# – 如何获取列表中和不在列表中的项目全部内容,希望文章能够帮你解决c# – 如何获取列表中和不在列表中的项目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1215914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存