【问题标题】:Compare list arrays and remove duplicates比较列表数组并删除重复项
【发布时间】:2014-12-16 12:58:56
【问题描述】:

我有 2 个这样的列表数组:

var list1 = new List.<String>();
var list2 = new List.<String>();

现在我想比较这两个并从 list1 中删除,如果 list2 中存在相同但根本不知道如何?!?

我正在 Unity 中构建它。

请帮忙。我已经搜索了网络,但没有找到任何可以帮助我的东西,我迷路了。

任何帮助表示赞赏并提前感谢:-)

【问题讨论】:

    标签: arrays unity3d compare unityscript


    【解决方案1】:

    也许你可以像这样与两个 List 相交:

    list1 = list1.Intersect(list2).ToList();
    

    【讨论】:

    • 不能统一工作,此外...我不想将它们添加在一起,我只想从 list1 中删除,如果 list2 中存在相同的内容。
    【解决方案2】:

    对不起,C# 语法,我相信你可以翻译这个。 我会使用 foreach 循环首先收集重复项,然后再使用另一个循环将它们全部删除。分两步执行此操作的原因是您无法在迭代列表时对其进行修改。

    List<string> duplicates = new List<string>;
    foreach (string s in list1)
    {
        if (list2.Contains(s)) duplicates.Add(s);
    }
    foreach (string s in duplicates)
    {
        list1.Remove(s);
    }
    

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 2013-02-02
      • 2020-12-14
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      相关资源
      最近更新 更多