C#高级技术1 集合类(1)

来源:

http://topic.csdn.net/u/20110416/22/6b6b8d83-7e7f-47d9-a584-e5351d0e0c25.html?1794


对于C#中的初学者而言,先了解四种集合就足够了。
两种普通集合 :ArrayList HashTable
两种泛型: List<T> Dictionary<string,value>

一、ArrayList
  数组相信楼主肯定了解过,数组是有长度限制的。在使用数组之前必须确定数组的长度。但是我们很多
  时候,是在程序运行过程中,才可以确定存储数据的个数的。那么,这个时候,就需要用到集合。
  ArrayList,位于System.Collections命名空间下,也就是说,如果要使用ArrayList,就必须
  引入该命名空间。
  该种集合也被称为"动态数组",原因就在于它的容量是可以根据需求按照一定的规律自动扩容的。
  该种集合可以存入任意类型的数据,存入后,都一致转变为了Object类型。那么对于值类型来说,
  就是进行了一次装箱操作,非常消耗性能。
  简单介绍一下它的用法
  Add():向集合中添加元素,参数为变量名,有一个整型返回值,表示该元素在集合中的索引。
  Remove():删除集合中的元素,参数为变量名,无返回值。删除后的集合,将重新排列集合中元素的索引。
  RemoveAt():删除集合中元素,与上个方法不同的是,该种方法是按照索引来删除的。参数为元素索引。
  Count:属性。表示当前集合的元素数量。整型返回值。
  Capacity:属性。表示当前集合中的容量。
  TrimToSize():压缩集合容量。很多时候,当我们确定了不再向集合中添加元素的时候,我们要压缩一下
  集合容量,以避免造成空间的浪费。
  另外,介绍一下它的读取操作,因为存进去的元素都会变为Object类型,所以读取的时候需要进行类型
  转换。
  如果需要遍历循环的话,因为该集合是按照元素的索引来进行访问的,所以我们完全可以使用for循环
  来进行遍历。
  C# codefor(int i = 0;i < 集合.Count;i ++){}

二、HashTable
  同ArrayList一样,也是位于System.Collections命名空间下。
  该种集合存的是一个键值对。一个键值对应一个值。
  所以,该种集合的访问方式于ArrayList不同,是按照键的值来进行访问的。
  Add():添加元素。两个参数,第一个为键,第二个为值。
  Remove():删除,参数为键值。
  Clear():清空集合中的所有元素。
  Keys:属性。集合的键值集合。遍历循环可以使用。
  Values:属性。集合的值的集合。遍历循环可以使用。
  该集合存入的也是自动转换为Object类型,所以读取的时候需要进行类型转换。
  遍历循环时,需要利用foreach。
  C# code
   foreach(string key in list.Keys){}
   foreach(Object value in list.Values){}
  

三、List<T>
  位于System.Collections.Generic命名空间下。
  为ArrayList的泛型版本。
  该种集合严格限制存入的元素类型。
  T的意思就是表示可以存入该集合中的元素类型。其他的不允许进入该集合。
  一些用法与ArrayList相同。
  不同的是,读取的时候,不再需要进行类型转换,也就是说,减少了装箱和拆箱的步骤,大大提高了
  程序运行的性能。
 
四、Dictionary<string,value>
  位于System.collections.Generic命名空间下。
  为HashTable的泛型版本。
  该种集合也严格的限制存入元素的类型。
  string表示的是存入的集合的元素的键值。声明的时候必须指定。
  value表示的值的类型。声明的时候也必须指定。
  其他用法与HashTable相同。
  读取不再需要进行类型转换。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值