【问题标题】:Add operation in List<string> [duplicate]在 List<string> 中添加操作 [重复]
【发布时间】:2012-08-03 13:44:41
【问题描述】:

可能重复:
Merge two object lists with linq

我有 2 个Lists string

List1 has items - item1, item2, item3

List2 has items - item1, item4, item5

现在我需要比较两个lists 并将List2 中缺少的添加到List1 中。修改后的List1 将是

list 1 : item1, item2, item3, item4, item5

【问题讨论】:

标签: c# string linq


【解决方案1】:

您可以为此使用LiNQ

List<string> newList = List1.Union(List2).ToList();

【讨论】:

    【解决方案2】:

    您可以尝试使用此代码 - 运算符除外

    var result = List2.Except(List1);
    
    foreach(string item in result )
    {
       List1.Add(item);
    }
    

    【讨论】:

      【解决方案3】:

      我会用 linq 来做

      var result = List1.Union(List2);
      

      http://msdn.microsoft.com/en-us/library/bb358407.aspx

      返回值 类型:System.Collections.Generic.IEnumerable 一个 IEnumerable,包含两个输入序列中的元素,不包括重复项。

      【讨论】:

        【解决方案4】:

        简单的方法:

        foreach(string item in List2)
        {
        if(!List1.Contains(item))
           List1.Add(item);
        }
        

        当然还有更短(代码长度)的选项

        【讨论】:

          【解决方案5】:

          您可以为此使用LINQ

          查看Except 方法,然后将生成的集合加入到您的原始集合中。

          见:http://csharp.net-tutorials.org/category/linq-to-objects/linq-except/

          【讨论】:

            猜你喜欢
            • 2016-09-28
            • 1970-01-01
            • 1970-01-01
            • 2012-12-26
            • 1970-01-01
            • 2012-08-01
            • 2014-04-12
            • 1970-01-01
            • 2019-01-29
            相关资源
            最近更新 更多