【问题标题】:How can I add elements from one collection that do not exist in a second collection to a third collection?如何将一个集合中不存在于第二个集合中的元素添加到第三个集合?
【发布时间】:2012-01-06 12:27:29
【问题描述】:

我有 3 个通用列表:

List<string> input
List<string> compareTo
List<string> results

我想获取输入列表并将每个值与比较列表进行比较,如果不存在则将其添加到结果列表中。

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    有什么理由不能只使用 LINQ?

    List<string> results = input.Except(compareTo).ToList();
    

    【讨论】:

    • 没有没有理由,而且非常好。我可能应该说 1 linq 声明。
    • 他想把它添加到结果中,暗示那里可能已经有东西了,所以也许results.AddRange(input.Except())
    • @JoelCoehoorn:可能 - 虽然根据我的经验,您很少需要对现有列表执行此类操作。
    【解决方案2】:
    compareTo.ForEach( x => {
    
        if(!input.Contains(x))results.Add(x); 
    
    
        });
    

    【讨论】:

      猜你喜欢
      • 2017-03-11
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多