我已经在网上查看了这个,但我要求这个以确保我没有错过任何东西。有没有一个内置函数将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