C#集合接口与BitArray2009-07-16 本站 L小风一.C#中集合的接口:ICollection集合接口的初始化对象方式:ICollection<Data type> mycollect=new Collection< Data type >();现在先来看一个整数类型集合的接口using System.Collections.ObjectMode//必须要有这个引用
ICollection<int> myCollection = new Collection<int>();myCollection.Add(100);//增加元素myCollection.Add(22);myCollection.Add(30);foreach (int x in myCollection)Console.WriteLine(x); //输出元素Console.WriteLine("集合中元素的个数{0}", myCollection.Count);myCollection.Add(222);myCollection.Remove(22);//删除元素Console.WriteLine("集合中元素的个数{0}", myCollection.Count);Console.WriteLine(myCollection.Contains(22));//判断集合中是否有这个元素

图片1
判读集合中是否存在某个元素:myCollection.Contains(x);有的话返回1,否则返回0;
将集合中的元素复制到一个同样大小的数组中:int[] myArray = new int[myCollection.Count];myCollection.CopyTo(myArray, 0);//从myCollection的第一个元素开始
int[] myArray = new int[myCollection.Count]; myCollection.CopyTo(myArray, 0);//从myCollection的第一个元素开始Console.WriteLine("xia现在比较下两个对象中元素");for (int i = 0; i < myCollection.Count; i++){Console.Write("in myArray {0},",myArray[i]);}foreach (int x in myCollection)Console.WriteLine("in mycollection{0}",x); |  图片2 |
只要按照上面介绍的方法就可以构造其他类型的泛型集合。现在演示下另一类型的泛型集合:
ICollection<string> another = new Collection<string>();//构造一个字符串型的集合another.Add("the ");another.Add("people"s ");another.Add("republic ");another.Add("china ");foreach(string str in another) Console.Write(str); | 该对象的输出结果是: 图片3 |
二.BitArray BitArray类是一个比特数组,数组的大小在创建对象的时候已经确定,每个数据元素只能表示一个比特,元素的值只能是1与0,其中用true表示1,用false表示0,当用其他数据类型的元素初始化该对象时,那么每个元素将占用该类型在内存中存储长度的数组空间,下表中式该类提供的特殊方法:
方法名字 | 方法的功能 |
and | BitArray中的元素执行按位“与”运算 |
or | 按位“或”运算 |
not | 取反运算 |
xor | 异或运算 |
get/set | 获取或设计特定位置处的位设置为指定值 |
setall | 将BitArray中的所有位设置为指定值 |
|
初始化一个BitArray类BitArray myBitArray = new BitArray(4);myBitArray[0] = false;myBitArray[1] = true;myBitArray[2] = true;myBitArray[3] = false;DisplayBitArray("myBitArray", myBitArray);Console.WriteLine("after not()之后");myBitArray.Not();DisplayBitArray("myBitArray", myBitArray); |  图片4 |
当然这里还定义了一个方法专门用来输出:public static void DisplayBitArray(string arrayListName, BitArray myBitArray){ for (int i = 0; i < myBitArray.Count; i++){ Console.WriteLine(arrayListName + "[" + i + "] = " + myBitArray[i]);}}