多语言展示
当前在线:1178今日阅读:195今日分享:14

怎样使用集合与泛型组织数据

没有学习使用集合与泛型之前,我们编程人员一直使用数组,数组是一组具有相同数据类型的数据的集合,在程序中可以用于存储数据,但是数组有一个缺点,即当其中的元素完成初始化后,要在程序中动态给数组添加、删除某个元素是很困难的。那么如何解决这个问题呢?.NET给我们提供了各种集合对象,比如ArrayList和 Hashtable,它们都可以很好地进行元素的动态添加、删除操作;我们这个经验将给大家讲解怎样使用集合与泛型,使用范例编程语言C#。此文章出自百度:du小旺(百度可以搜到作者)。
工具/原料

Visual Studio 2010

步骤/方法
1

我们还是采用通俗易懂的方法举例子来讲解怎样使用集合与泛型的使用。例子如下,我们要使用集合去实现下面员工信息管理,员工考勤管理这个例子的过程,首先要理解集合的概念 熟练使用集合访问数据 理解泛型的概念 熟练使用各种泛型集合。

2

为什么要使用集合。在使用集合之前我们首先要明白为什么要使用集合,没有接触泛型和集合的编程人可能会说可以使用数组,但是数组有一个缺点,即当其中的元素完成初始化后,要在程序中动态给数组添加、删除某个元素是很困难的。

3

ArrayList是什么。ArrayList类似数组,也有人称它为数组列表ArrayList可以直观地动态维护,它的容量可以根据需要自动扩充,它的索引会根据程序的扩展而重新进行分配和调整。

4

怎样使用ArrayList集合。ArrayList类属于System.Collection 命名空间,由于Visual Studio 2010创建工程时没有自动引入这个命名空间,因此在使用ArrayList之前一定要进入。

5

怎样给ArrayList添加元素。ArrayList通过Add方法添加元素,语法:public int Add(object value);

6

怎样访问ArrayList元素。ArrayList获取一个元素的方法和数组一样,也是通过索引(index)来访问,ArrayList第一个元素的索引是0,需要注意的是给ArrayList添加的元素都会自动转换为Object型,所以在访问这些元素的时候必须把它们转换为原来的数据类型。

7

怎样遍历ArrayList集合。我们使用数组时是通过循环的方式讲元素逐个取出,这种操作我们通常成为 遍历元素,以数组的长度作为循环的次数。

8

怎样删除ArrayList的元素。删除ArrayList的元素有三种方式。如下面截图:

9

使用ArrayList时易错点。移除ArrayList元素后索引“2”的元素就不存在了,这时再删除索引为“2”的元素就会报错,这是因为ArrayList是动态的,删除一个元素后索引自动重新排列。

10

为什么使用HashTable集合。在ArrayList集合中我们使用索引来访问它的元素,但是使用这种方式必须了解集合的某个数据的位置,当ArrayList中的元素发生变化频繁时,要跟踪某个元素的下标就比较困难,其实C#提供了一种叫做Hashtable的数据结构,通常称为哈希表,也有人称为“字典”。

11

怎样使用HashTable集合。哈希表的数据是通过键(Key)和值(Value)来组织的,如下图所示:HashTable也属于System.Collections命名空间,它的每个元素都是一个键值对,给HashTable表添加一个对象。也要使用Add()方法。但哈希表的Add()方法有两个参数,一个是键值,一个表示键所对应的值。

12

怎样遍历HashTable集合元素。由于哈希表不能够用索引访问,所以一个哈希表只能用foreach()方法,使用方法如下面截图。

13

怎样使用List泛型加强类型安全。在System.Collections.Generic命名空间中定义了许多泛型集合,这些类可以用于替代前面的Arrast和Hashtable。List类的用法非常类似ArrayList。语法:List 对象名=new List()。“”中的T可以对集合的元素类型进行约束,T表明集合中管理的元素类型。

14

怎样使用Dictionary泛型。在C#中还有一种泛型集合Dictionary,它具有泛型的全部特性,编译时检查类的约束,获取元素时无需类型转换,并且它存储数据的方式和哈希表类似,也是通过Key/Value(键/值对)保存元素的。

注意事项
1

注意Arraylist和Hashtable拆箱与装箱。

2

数据类型的约束。

推荐信息