第06篇:C#星夜拾遗之几个重要的集合类

简介:

技术之外的话

苏轼《后赤壁赋》:有客无酒,有酒无肴;月白风清,如此良夜何?技术员在做技术之余,欣赏一下古诗词也是很好的。呵呵,这是一些闲话。

前言

C中要保存一组数据,通常要做一个数组或链表来存放。在C#中,我们不用这么麻烦了,因为C#中提供了一些实用的集合类,通过这些集合类,可以方便的管理一组或多组内存对象。这些集合包括ArrayListHashTableList<T>等。

ArrayList

MSDN中对ArrayList的介绍只有一句话:使用大小可按需动态增加的数组实现 IList 接口。这里推荐ArrayList的原因是在C#中不支持动态数组,可以通过实用ArrayList实现动态数组的功能。

ArrayList的操作有常用的AddInsertRemoveIndexOf。通过这些方法可以实现器大部分操作。对于这些操作可以参考这里,或请参见MSDN中的说明ArrayList成员

Hashtable

MSDN中的描述:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。

有些朋友可能手工的实现过Hashtable的功能。在C语言中散列算法是很重要的,遗憾的是笔者没有学好,所学的知识只能够草草应付老师作业了事。好在C#中提供了Hashtable类来实现键/值对的操作功能。

Hashtable的操作更为简单,Add方法用来添加一个键/值对,通过键可以直接访问到值,也就是说,如果定义了一个dtHashtable对象,则可以通过dt[key],得到一个Object对象的Value,如果这个key值不存在,则会返回一个null

这些操作都是很方便和使用的,不需要多说。希望了解的朋友可以参考MSDN中的HashtableHashtable成员

List<T>

MSDN中的描述:表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。

这里的强类型类表即所谓的泛型。什么是泛型呢?单单这一个问题就够讨论上几页了,我只简单的说明:所谓泛型,指的是T可以是任何其它类型,但必须是一个固定的类型。当这个类型确定后,List<T>对象只能是T类的实例,这是我对泛型用法上的认识,希望了解正解的朋友可以参考C#泛型简介

List<T>在用法上并没有什么特别,C#为它提供了丰富的操作,可以参照MSDN中的List<T>List<T>成员对其进行了解。

结束语

这么快就结束了,这篇其实只提出了这三个类,并没有对它们的用法进行说明。我将其列出,只是为了告诉初学者朋友,常用的集合中,这三个是很重要的。希望深入了解,请参照MSDN




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2010/05/15/1736474.html,如需转载请自行联系原作者

相关文章
|
2月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
2月前
|
C#
58.c#:directory类
58.c#:directory类
13 0
|
2月前
|
C#
57.c#:directorylnfo类
57.c#:directorylnfo类
13 0
|
2月前
|
监控 C#
55.c#:file类
55.c#:file类
19 1
|
2月前
|
算法 C#
54.c#:random类
54.c#:random类
15 1
|
1天前
|
SQL 存储 C#
C# Web控件与数据感应之 TreeView 类
C# Web控件与数据感应之 TreeView 类
|
1天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 CheckBoxList 类
C# Web控件与数据感应之 CheckBoxList 类
|
1天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 Control 类
C# Web控件与数据感应之 Control 类
|
1天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 ListControl 类
C# Web控件与数据感应之 ListControl 类
|
2月前
|
存储 SQL C#
C# 读取二维数组集合输出到Word预设表格
C# 读取二维数组集合输出到Word预设表格