我想从我拥有的字符串列表中删除重复的项目。 我有2个文本文件。一个带有我所有的结果,另一个是完成的结果。
我希望从包含我所有结果的文件中删除完成的结果。到目前为止,我已经尝试过使用distinct函数,但这也将始终留下一个不重复的字符串。
是否可以使用独特的功能来删除重复的项目?
答案 0 :(得分:0)
您可以在字符串类中使用.RemoveAll
函数,该函数采用一个函数并删除给定条件的所有匹配项,如下所示。
var x = new List<string>() { "a", "a", "b", "c" };
x.RemoveAll(a => string.Equals(a, "a"));
此代码将删除列表中a
的两个实例。
或者您有一个要匹配的集合以供删除:
var collToRemove = new List<string>() { "a" };
x.RemoveAll(a => collToRemove.Contains(a));
答案 1 :(得分:0)
听起来像您想要Except功能:
Dim results = {"a", "a", "b", "c", "d", "d"}
Dim finished = {"a", "c"}
Dim remainder = results.Except(finished)
Console.WriteLine(String.Join(", ", remainder))
输出:
b,d
除非您想保留两次出现的“ d”。