在此帖子中Other Post我使用List<KeyValuePair<string, string>> IdentityLines = new List<KeyValuePair<string, string>>();
的程序員建議來收集目錄中某些文件中的多個字符串值。我現在想要從該列表中刪除重複值。任何想法如何在C#中做到這一點?謝謝搜索並刪除列表中的重複項
回答
static List<T> RemoveDuplicates<T>(List<T> inputList)
{
Dictionary<T, int> uniqueStore = new Dictionary<T, int>();
List<T> finalList = new List<T>();
foreach (string currValue in inputList)
{
if (!uniqueStore.ContainsKey(currValue))
{
uniqueStore.Add(currValue, 0);
finalList.Add(currValue);
}
}
return finalList;
}
http://www.kirupa.com/net/removingDuplicates.htm
如果你想返回一個IEnumerable
而是改變你的返回類型IEnumerable<T>
和yield
return
currValue,而不是將它添加到最後名單。
在該鏈接上發佈此行後列表
我想你想'foreach(結果中的字符串s)',根據你提供的錯誤。 – 2010-08-10 21:05:07
嗨羅伯特 - 如果我這樣做,那麼我怎麼寫s的價值? s沒有s.value,我可以在fs.Write()中使用; – Josh 2010-08-10 21:07:37
使用與Linq一起發現的Distinct方法。這裏是一個使用int列表的例子。
Using System.Linq;
List<int> list = new List<int> { 1, 2, 3, 1, 3, 5 };
List<int> distinctList = list.Distinct().ToList();
我知道這樣一個老問題,但在這裏就是我如何做到這一點:
var inputKeys = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("myFirstKey", "one"),
new KeyValuePair<string, string>("myFirstKey", "two"),
new KeyValuePair<string, string>("mySecondKey", "one"),
new KeyValuePair<string, string>("mySecondKey", "two"),
new KeyValuePair<string, string>("mySecondKey", "two"),
};
var uniqueKeys = new List<KeyValuePair<string, string>>();
//get rid of any duplicates
uniqueKeys.AddRange(inputKeys.Where(keyPair => !uniqueKeys.Contains(keyPair)));
Assert.AreEqual(inputKeys.Count(), 5);
Assert.AreEqual(uniqueKeys.Count(), 4);
- 1. VBA - 搜索並刪除重複項
- 2. 刪除列表中的重複項目
- 3. 刪除Haskell列表中的重複項
- 4. 刪除列表中的重複項
- 5. 刪除列表中的重複項
- 6. Python刪除列表中的重複項
- 7. 刪除列表中的重複項-linq
- 8. 刪除列表中的重複項(c#)
- 9. 從列表中刪除重複項並保留列表
- 10. 從C++列表中刪除重複項
- 11. Haskell從列表中刪除重複項
- 12. 從列表中刪除重複項
- 13. odoo one2many列表中刪除重複項
- 14. Scala - 從列表中刪除重複項
- 15. 從Django列表中刪除重複項
- 16. 從Python列表中刪除重複項
- 17. 從Python列表中刪除重複項
- 18. 從列表中刪除重複項?
- 19. Python從列表中刪除重複項?
- 20. 如何搜索重複項的數字列表並將2個重複值的第一個值刪除1?
- 21. 搜索並從列表框中刪除項目
- 22. 組合兩個列表並刪除重複項,而不刪除重複項在原始列表
- 23. Elasticsearch:刪除索引中的重複項
- 24. 刪除列表中的重複列表
- 25. mysql按列A搜索重複項並按其他條件刪除
- 26. 刪除自定義搜索查詢中的重複項
- 27. jQuery - 填充下拉列表並刪除或合併重複項
- 28. 在Python中創建列表並刪除重複項
- 29. 如何在選擇框中搜索並刪除使用Rails的重複選項?
- 30. 刪除重複的列表項從列表的列表清單
參見http://stackoverflow.com/questions/47752/remove-duplicates-from-a-listt-in- c – 2010-08-10 20:55:45