出处:http://www.cnblogs.com/feisky/archive/2009/10/29/1591956.html
System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。
System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。
System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。
在System.Collections命名空间中提供了许多接口:
- IEnumerable循环集合项目
- ICollection可以获取集合中项目个数
- IList项目列表
- IDictionary提供了键码索引
(一)ArrayList 类:使用大小可按需动态增加的数组。
(二)Queue:队列,表示对象的先进先出集合。Enqueue方法入队列,Dequeue方法出队列。
(三)Stack:栈,表示对象的简单的后进先出非泛型集合。Push方法入栈,Pop方法出栈。
(四)哈希表
一、哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对.
二、哈希表的简单操作
在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value);
在哈希表中去除某个key/value键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key);
下面控制台程序将包含以上所有操作:
三、遍历哈希表
遍历哈希表需要用到DictionaryEntry Object,代码如下:
四、对哈希表进行排序
对哈希表进行排序在这里的定义是对key/value键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
(五)SortedList类:表示键/值对的集合,与哈希表类似,区别在于SortedList中的Key数组排好序的。
(六)Dictionary 泛型集合
泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含了一些基于泛型的集合类,使用泛型集合类可以提供更高的类型安全性,还有更高的性能,避免了非泛型集合的重复的装箱和拆箱。
很多非泛型集合类都有对应的泛型集合类,下面是常用的非泛型集合类以及对应的泛型集合类:
非泛型集合类 |
泛型集合类 |
ArrayList |
List<T> |
HashTable |
DIctionary<T> |
Queue |
Queue<T> |
Stack |
Stack<T> |
SortedList |
SortedList<T> |
我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,如果我们操纵的数据类型相对确定的化 用 Dictionary<TKey,TValue> 集合类来存储数据就方便多了,例如我们需要在电子商务网站中存储用户的购物车信息( 商品名,对应的商品个数)时,完全可以用 Dictionary<string, int> 来存储购物车信息,而不需要任何的类型转化。
下面是简单的例子,包括声明,填充键值对,移除键值对,遍历键值对
分享到:
相关推荐
C#集合与字符窜处理C#集合与字符窜处理(源代码)C#集合与字符窜处理C#集合与字符窜处理(源代码)C#集合与字符窜处理C#集合与字符窜处理(源代码)
c# 集合的使用方法,适合初学者。包括ArrayList,Statck,Queue,Dictionary的基本操作方法。
C#集合类 C#集合类 教程学习资源
简要介绍C#中集合的概念及类型. 集合是引自数学的一种概念,其本意是表示一组具有共同性质的数学元素的组合,典型的数学集合例如有理数集合等。 在面向对象的程序设计中,集合是对各种集合包中的类进行实例化的结果...
C# 正则表达式 集合 C# 正则表达式 集合 C# 正则表达式 集合
c#集合例子 自己练习的一些小例子,供大家参考
日常工作中我们用到各种集合,但对于他们的性能比较则不是太清楚,因为片处的数据量不大,所以性能优势无法体现,本测试程序可以直观的测试各种集合的性能ArrayList 、List 、Dictionary、Hashtable
C#集合的运算,集合之间的交集,并集,组合
测试ArrayList,Dictionary,List,DataSet等对象的遍历性能
ArrayList,List,Hashtable,DataSet 的索引性能测试和对比
集合Dictionary中按键排序较容易实现,本例实现了C#集合Dictionary中按值的降序排列。
c#集合的学习 读书笔记 学习心得 介绍得深入浅出,适合各个层次的学者
总结了C#中关于集合的使用,增删改查时各种集合间的比较,泛型集合的优点
C#编程相关,集合类应用,基本操作,入门级知识总结,学习笔记
内部具体内容可以查看我的文章“C#集合总结(图文链接形式)”
C#集合容器(collection)详解
C#实体、集合类生成器,连接数据库服务-》选择数据库-》选择表-》选择字段-》点击生成即可生成C#实体 C#集合类
c#集合学习笔记(.doc格式)。多多指教。
C#集合和数组.pdf