C#集合
主要介绍C#里面的集合 以及线程安全的集合
dz45693
我是一个软件开发人员,有较强的责任心,是一个典型的技术爱好者。在此希望能认识更多好朋友。
展开
-
探讨 .NET 4 新增的 SortedSet 类
探讨 .NET 4 新增的 SortedSet 类转载 2010-06-28 20:34:00 · 3907 阅读 · 1 评论 -
C# ConcurrentBag实现
ConcurrentBag可以理解为是一个线程安全无序集合,API比我们的list要弱一点,那我们来看看它的实现: public class ConcurrentBag : IProducerConsumerCollection, IReadOnlyCollection { // ThreadLocalList object that contains the d原创 2017-11-23 13:57:10 · 3742 阅读 · 0 评论 -
C# ConcurrentDictionary实现
ConcurrentDictionary的源码看了很多遍,今天抽点时间整理一下,它的实现比Dictionary要复杂很多,至于线程安全我觉得比较简单,用的是lock的思想。首先我们来看看它的源码。 public class ConcurrentDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictiona...原创 2017-11-23 12:37:14 · 2654 阅读 · 0 评论 -
C# ConcurrentQueue实现
我们从C# Queue 和Stack的实现知道Queue是用数组来实现的,数组的元素不断的通过Array.Copy从一个数组移动到另一个数组,ConcurrentQueue我们需要关心2点:1线程安全是怎么实现的,2队列又是怎么实现的?我们来看看其实现code:public interface IProducerConsumerCollection : IEnumerable, IColl原创 2017-11-22 18:49:37 · 4561 阅读 · 0 评论 -
C# ConcurrentStack实现
我们通过C# Queue 和Stack的实现知道Stack是依靠数组实现的,那么ConcurrentStack的栈又是如何实现的了,然后它的线程安全又是怎么做到的了? 来看看其code吧 public class ConcurrentStack : IProducerConsumerCollection, IReadOnlyCollection { private原创 2017-11-22 18:51:35 · 3467 阅读 · 0 评论 -
C# Queue 和Stack的实现
Queue 和Stack的使用就不用多说吧,一个是先进先出,一个是后进先出。 这里我主要关注其实现原理。queue的实现如下: public class Queue : IEnumerable,System.Collections.ICollection,IReadOnlyCollection { private T[] _array; privat原创 2017-11-22 11:29:55 · 2453 阅读 · 0 评论 -
C# Dictionary, SortedDictionary, SortedList
就我个人觉得Dictionary, SortedDictionary, SortedList 这几个类的使用是比较简单的,只要稍微花点时间在网上查找一点资料,然后在阅读以下源码就理解的很清楚了。为什么要写这一片文章了,看一下code吧:Dictionary dict = new Dictionary();//load data to dictint key = 1;object o原创 2017-11-22 10:33:58 · 8465 阅读 · 0 评论 -
关于Hashtable与Dictionary性能的讨论。
看了eaglet的《几种C#框架提供的数据结构对单值查找的效率比较》,发现作者对Hashtable与Dictionary存在一些误解,抽点空,讲讲我对Hashtable与Dic的看法。 我个人是觉得,无论什么时候,都应该使用Dictionary,理由如下:转载 2011-09-27 11:28:23 · 3019 阅读 · 0 评论 -
让范型集合支持事件
让范型集合支持事件原创 2011-06-01 12:52:00 · 5380 阅读 · 0 评论 -
让集合支持事件
让集合支持事件转载 2011-06-01 12:45:00 · 3094 阅读 · 0 评论 -
.Net集合类的研究-有序集合(一)-SortedList、SortedList
.Net集合类的研究-有序集合(一)-SortedList、SortedList转载 2011-05-26 17:42:00 · 3590 阅读 · 0 评论 -
.net集合类的研究--哈希表(二)--HashSet
.net集合类的研究--哈希表(二)--HashSet转载 2011-05-26 17:43:00 · 3284 阅读 · 2 评论 -
.net集合类的研究--链表—ListDictionary,LinkedList
.net集合类的研究--链表—ListDictionary,LinkedList转载 2011-05-26 17:48:00 · 3266 阅读 · 0 评论 -
红黑树概念、红黑树的插入及旋转操作详细解读
红黑树的一些基本概念在讲TreeMap前还是先说一下红黑树的一些基本概念,这样可以更好地理解之后TreeMap的源代码。二叉查找树是在生成的时候是非常容易失衡的,造成的最坏情况就是一边倒(即只有左子树/右子树),这样会导致树检索的效率大大降低。(关于树和二叉查找树可以看我之前写的一篇文章树型结构)红黑树是为了维护二叉查找树的平衡而产生的一种树,根据维基百科的定义,红黑树有五个特性,但我...转载 2019-06-10 14:46:47 · 2578 阅读 · 0 评论