集合是C#中一种基础的多重对象容器,一个容器允许跟踪大量的对象,而不需要考虑到底有多少个。容器同样允许方便并且有效地重申对象,然后进行处理。C#中包含了一些不同类型的集合类,根据你需要存储的信息类型可进行各自不同的处理。
下表列出的是C#中一些集合类:
集合类 | 解释 |
ArrayList | 可以容纳任何类型对象的动态数组 |
BitArray | 比特值的紧凑数组,值可以是true或false |
HashTable | 哈希表(hash table)是给定的关键字到值的映射,用于数据分割,一个哈希表存储的是关键字/值的排序序列,可以被关键字访问 |
Queue | 代表了先进先出的集合对象 |
SortedList | 存储关键字/值对的排序序列,可以被关键字或索引访问 |
Stack | 代表了后进先出的对象序列 |
StringCollection | 字符串集合,使用时和数组十分类似 |
对于集合,可用Add或Insert方法往集合插入元素,用RemoveAt方法删除,用foreach语句支持集合遍历。
在集合中,最方便的应属向集合插入数据了。C#中可以轻而易举地扩充集合,向其中任意位置插入数据。大家应该清除要在一个标准数组对象开头插入一个元素是件多么麻烦的事,你不得不拷贝整个数组到一个更大的新数组,然后向其开头插入新元素,或者必须删除原数组的某个已有元素。有了集合,这一切烦琐的工作都不需要了,仅仅使用ArrayList类就可直接完成该操作。ArrayList类就像大多数C#集合类一样,为了容纳数组的所有元素,它会自动扩充到适当大小,并且支持快速简单的数组元素插入和删除。
举个简单的例子。
using System;
using System.Collections;
class example
{
public static void Main()
{
ArrayList al=new ArrayList(5);
//向数组末尾添加3个元素
al.Add(10);
al.Add(9);
al.Add(8);
//向数组开头插入3个元素
al.Insert(0,1);
al.Insert(0,2);
al.Insert(0,3);
//插入一些随机位置
al.Insert(2,4);
al.Insert(4,5);
al.Insert(6,6);
//遍历数组
foreach(int i in al)
{
Console.WriteLine("Entry {0}",i);
}
}
}
输出结果为:
Entry 3
Entry 2
Entry 4
Entry 1
Entry 5
Entry 10
Entry 6
Entry 9
Entry 8
先写这些,以后陆续补充。