[英]Removing duplicates from a list collection
希望可以有人帮帮我。 我正在使用c#,我对它有些新意。 我正在将一个文本文件加载到我的应用程序并将数据拆分为“,”我在读取数据时读取部分字符串到<list>
有很多重复项,这些重复项因我加载的txt文件而异。 有人可以告诉我如何检查并删除出现的任何和所有重复项。 没有办法知道重复会出现什么,因为它有无限的可能性。
我在这里先向您的帮助表示感谢
如果您的目标是.NET 3.5,请使用Distinct扩展方法:
var deduplicated = list.Distinct();
如果将字符串加载到Set
而不是List
则会自动丢弃重复项。
一个简单/肮脏的例子如下:
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会导致消耗大量内存并导致异常。
这是一篇包含C#中的一些示例和解释的文章。 基本上,您只需跟踪唯一身份,并检查每个元素。
亚历克斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.