我已经在网上查看了这个,但我要求这个以确保我没有错过任何东西。有没有一个内置函数将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. 带格式列表的哈希表转换回哈希表powershell
- 2. 如何将Textview数组列表转换为哈希集?
- 3. 从哈希集合转换为Keyworded列表
- 4. 如何将C#列表转换为可哈希?
- 5. RecycerView中的哈希表无法转换为列表
- 6. 转换http_params哈希
- 7. 在Android浏览器上将哈希(#)哈希(#)转换为%23
- 8. 转换base64'd SHA1哈希为十六进制哈希
- 9. 是否可以将NetMTLMv2哈希转换为NTLM哈希?
- 10. 转换散列哈希数组Ruby Ruby
- 11. 哈希表vs哈希列表与哈希树?
- 12. 的Perl $字符串哈希表转换
- 13. 将redis哈希转换为python字典?
- 14. 将哈希转换为csv文件
- 15. 转换JavaScript对象为Ruby的哈希
- 16. 如何将redis哈希转换为JSON?
- 17. 将Sha256哈希值转换为NSString
- 18. 将哈希数组转换为散列哈希,通过哈希的属性进行索引
- 19. 哈希数组转换
- 20. 将ArrayList /哈希映射转换为结果集
- 21. 简单的方法来转换数据表哈希表或sqldatareader哈希表
- 22. 如何转换哈希表列表中的ResultSet?
- 23. 将Perl哈希变换为c#keyvaluepair
- 24. 一个哈希表转换为数据表
- 25. VB6到C#:哈希标志转换为双
- 26. 将Python中的SHA哈希计算转换为C#
- 27. 将序列化哈希转换为模型属性
- 28. 哈希码和哈希集的概念
- 29. 在哈希数组中转换红宝石嵌套哈希
- 30. 如何将Python字典转换为JavaScript哈希表?
与此相关的,如果我有一个有序列表和我做 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