我已經在網上查看了這個,但我要求這個以確保我沒有錯過任何東西。有沒有一個內置函數將HashSets轉換爲C#中的列表?我需要避免元素的重複,但我需要返回一個List。C#哈希集轉換爲列表
17
A
回答
48
這是我會怎麼做:
using System.Linq;
HashSet<int> hset = new HashSet<int>();
hset.Add(10);
List<int> hList= hset.ToList();
HashSet的是,根據定義,不包含重複。所以不需要Distinct
。
5
有Linq擴展方法ToList<T>()
將這樣做(它定義在IEnumerable<T>
由HashSet<T>
實現)。
只要確保你是using System.Linq;
如你顯然意識到HashSet
將確保你有沒有重複,這個功能可以讓你把它返回作爲IList<T>
。
12
兩個等價的選項:
HashSet<string> stringSet = new HashSet<string> { "a", "b", "c" };
// LINQ's ToList extension method
List<string> stringList1 = stringSet.ToList();
// Or just a constructor
List<string> stringList2 = new List<string>(stringSet);
個人而言,我更喜歡叫ToList
是不是就意味着你不需要重申列表的類型。
相反,我以前的想法,左右逢源允許協方差在C#中輕鬆表達4:
HashSet<Banana> bananas = new HashSet<Banana>();
List<Fruit> fruit1 = bananas.ToList<Fruit>();
List<Fruit> fruit2 = new List<Fruit>(bananas);
5
List<ListItemType> = new List<ListItemType>(hashSetCollection);
相關問題
- 1. 從哈希集合轉換爲Keyworded列表
- 2. 如何將Textview數組列表轉換爲哈希集?
- 3. 如何將C#列表轉換爲可哈希?
- 4. 哈希轉換陣列JSON
- 5. 轉換紅寶石陣列哈希爲一個哈希
- 6. 訂購斷裂從列表轉換爲哈希表
- 7. RecycerView中的哈希表無法轉換爲列表
- 8. 將哈希表中的鍵轉換爲字符串列表
- 9. 轉換http_params哈希
- 10. 將php數組轉換爲c#哈希表
- 11. 將json哈希數組轉換爲Qt QH列表
- 12. 是否可以將NetMTLMv2哈希轉換爲NTLM哈希?
- 13. 轉換base64'd SHA1哈希爲十六進制哈希
- 14. 在Android瀏覽器上將哈希(#)哈希(#)轉換爲%23
- 15. 轉換散列哈希數組Ruby Ruby
- 16. 轉換陣列空PARAMS哈希
- 17. 哈希表vs哈希列表與哈希樹?
- 18. 轉換對象整數哈希表
- 19. 的Perl $字符串哈希錶轉換
- 20. 轉換JavaScript對象爲Ruby的哈希
- 21. 如何將redis哈希轉換爲JSON?
- 22. 哈希將月份轉換爲數字
- 23. 將密碼轉換爲哈希值PHP
- 24. 將redis哈希轉換爲python字典?
- 25. 將Sha256哈希值轉換爲NSString
- 26. 將數組轉換爲哈希數組
- 27. 將哈希數組轉換爲數組
- 28. 哈希值的數組轉換爲csv
- 29. 將哈希轉換爲csv文件
- 30. 安全地轉換爲哈希映射
與此相關的,如果我有一個有序列表和我做 orderedList.Distinct( ).ToList()你能告訴我它是否保留orderedList中的順序嗎?它符合我的目的,如果它確保它始終保留重複元素的第一次出現並擺脫後來的發生(我有相關性排序的列表...需要保留更相關的列表) – atlantis 2009-09-16 05:25:13
@Ngu there在HashSet中使用Distinct()是沒有意義的,因爲無論如何都不會有重複。 – 2009-09-16 06:00:50
是的,訂單被保留。 – Graviton 2009-09-16 06:24:11