一集合
1、可为不同类型,不固定长度
2、集合类型分为泛型集合(强类型集合)与非泛型集合(弱类型集合)。
3、非泛型集合的类和接口位于using System.Collections命名空间。
4、泛型集合的类和接口位于using System.Collections.Generic命名空间。
表达式
List <int> arr = new List<int>(); //强类型 ,每个集合中只含有同一种类型
ArrayList arr = new ArrayList(); //弱类型
arr.Add( 10 );C
arr.Add( "aaa" ); // 赋值 集合名 . Add( );
arr.Add( 10.5 );
arr.Add( true ); // T (object)基类,可用于所有类型
arr.Add( dt );
Console.WriteLine( arr [ 索引 ] ); //取值 集合名 [ 索引 ]
foreach ( int i in arr ) // foreach 遍历,将 i 代表的每一个内容循环一遍
{
Console.WriteLine( i ); // 打印 使用 foreach 遍历
}
方法
插队 .Insent ( 索引 , 值/变量 );
arr.Insent( 2,30 ); 在索引 2 的位置上插入值为 30 的数
移除 .Remove( 值 )
.RemoveAt( 索引 ) arr.Remove( 10 ) 移除第一个与值相匹配的对象。
arr.RemoveAt( 1 ) 移除索引 1 所标记的对象。
反转 .Reverse( );
.Reverse( 索引 , 值 ); arr.Reverse( ); 全部反转
arr.Reverse( 1,3 ); 从索引 1 (包含)开始往后 3 个对象进行反转
清空 .Clear();
计算个数 .Count; //集合是一个开放性的没有长度只有个数
是否包含 .Contains( ); // 对所有集合都适用
案例:是否包含“bbb”,是否包含"b"
List <string> sl = new List<string>();
sl.Add("aaa");
sl.Add("bbb");
sl.Add("ccc");
1 是否包含"bbb"
(1)
bool has = false;
foreach (string s in sl)
{
if ( s=="bbb")
has = true
}
(2)
bool has = sl.Contains("bbb");
Console.WriteLine( has );
2 是否包含"b"
bool has = false
foreach (string s in sl )
{
if ( s .Contins(" b ") )
has = ture
}
特殊集合
一 哈希表集合(弱)
弱类型,用户自定义索引。不能插队,不能反转,可删可清。
表达式
Hashtable hs = new Hashtable ();
赋值 hs . Add ( 建,值); //利用键值对赋值, 建:keys 值:values
取值 hs [ 建 ]
打印 foreach (string s in hs ) //类型要统一
[
Console.WriteLine( s );
]
二 字典(强)
表达式
Dictionary <键 , 值> dic = new Dictionary <键 , 值> ( );
// 建 同一类型。值 同一类型。
三 队列集合 //先进先出
表达式
Queue q = new Queue( );
赋值 q . Enqueue( );
取值 q . Dequeue( ); // 返回并移除集合中的对象。
四 栈桥集合 //先进后出
表达式
Stack st = new Stack;
赋值 st . push ( );
取值 st . pop ( ); //返回并移除
原文:http://www.cnblogs.com/Tanghongchang/p/6498803.html