C#集合接口与BitArray

 一.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]);

}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章