希望有人可以帮助我。我正在使用c#,我对它有些新意。
我正在将一个文本文件加载到我的应用程序中并将数据拆分为“,”当读取数据时,我正在读取字符串的一部分<list>
有很多重复项,这些重复项根据我的txt文件而有所不同加载。有人可以告诉我如何检查并删除出现的任何和所有重复项。没有办法知道重复会出现什么,因为它有无限的可能性。
感谢您的帮助
答案 0 :(得分:7)
如果您的目标是.NET 3.5,请使用Distinct扩展方法:
var deduplicated = list.Distinct();
答案 1 :(得分:4)
如果您将字符串加载到Set
而不是List
,则会自动丢弃重复项。
答案 2 :(得分:2)
一个简单/肮脏的例子如下:
public List<string> RemoveDuplicates(List<string> listWithDups)
{
cleanList = new List<string>();
foreach (string s in listWithDups)
{
if (!cleanList.Contains(s))
cleanList.Add(s);
}
return cleanList;
}
作为警告:非常大的字符串上的String.Split会导致消耗大量内存并导致异常。
答案 3 :(得分:1)
Here's一篇文章,其中包含C#中的一些示例和解释。基本上,您只需跟踪唯一身份,并检查每个元素。
亚历