簡體   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