繁体   English   中英

从列表集合中删除重复项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM