求职笔试遇到一道题:
列举C#中的集合类型___;
列举C#中的并发集合类型__;
我认识不深,查找的答案,希望大家指正:
集合类型是数据集合的常见变体,例如哈希表、队列、堆栈、字典和列表。集合基于ICollection 接口、IList 接口、IDictionary 接口,或其泛型集合中的相应接口。
故第一空答案如下:
1.数组集合类型:描述允许将数组视为集合处理的数组功能。
2.ArrayList 和List 集合类型:描述泛型和非泛型列表(最常用的集合类型)的功能。
3.Hashtable 和Dictionary 集合类型:描述基于哈希的泛型和非泛型字典类型的功能。
4.SortedList 和SortedDictionary 集合类型:描述排序的字典以及组合字典和列表功能的混合类型。
5.队列Queue集合类型:描述泛型和非泛型队列的功能。
6.堆栈Stack集合类型:描述泛型和非泛型堆栈的功能。
7.HashSet 集合类型:描述泛型HashSet(T) 集合类型。
8.HashSet 和LINQ Set 运算:描述HashSet(T) 集合类型提供的Set 操作以及LINQ Set 操作。
并发集合类型使多线程操作更加安全,相对于对非并发集合添加了lock锁。
System.Collections.Concurrent下的几个类
第二空答案如下:
- ConcurrentQueue
- ConcurrentStack
- ConcurrentBag : 一个无序的数据结构集,当不需要考虑顺序时非常有用。
- BlockingCollection : 与经典的阻塞队列数据结构类似
- ConcurrentDictionary
- IProducerConsumer<T>与BlockingCollection<T>