比较列表数组并删除重复项

时间:2014-10-21 10:23:09

标签: arrays unity3d compare unityscript

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

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

现在我想比较那些2并从list1中删除如果list2中存在相同但是根本无法弄清楚如何?!?

我在Unity中构建它。

请帮忙。我在网上搜索过,但没有发现任何有用的东西,我迷失了。

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

对不起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);
}