C语言中的数组为单个数的集合,直接分配空间。C#和java数组集合类似,为引用类型。
1、声明 type[] arrayName;初始化 int[] arr = new int[5]{1,2,3,4,5};
string[] arrStr;
arrStr = new string[7]{"sun",...};
二维数组 type[,] arrayName; int[,] arr = new int[2,3];值得注意的是可以声明动态数组,int[,] array = new int[m,n];这一点c中很麻烦,而C#和java已经在底层对其处理了,当开辟的空间不够用时会重新分配内存。
数组遍历 for foreach 和数组的排序(冒泡选择)合并拆分不详细解释。
2、ArrayList类,可以理解为一个高级的动态数组,因为可以动态的添加和删除元素。可以看作扩充了功能的数组,但是不等同数组,c语言中的数组在声明初始化必须要开辟一个固定的空间,后续操作不能改变空间大小,C#中动态数组可以动态分配空间但是分配后大小也已确定不可改变,而ArrayList类不用这么麻烦,可以不断加减元素,自动开辟新的空间,使用很方便。
说白了就是数组容量固定,而ArrayList容量根据需要会自动的扩充。
ArrayList List = new ArrayList();
List.Add();List.Insert();List.Clear();List.Remove();List.Contain();等各方法不详细解释。
3、哈希表
Hashtable为键值对集合,键不能为空,值可以。
Hashtable hashtable = new Hashtable();
hashtable.Add("id","00001");
hashtable.Clear();
hashtable.Remove(key);
哈希表的遍历要注意的是,元素是键值对,所以要用代表一个键值对的DictionaryEntry来表示一个元素。
foreach(DictionaryEntry dicEntry In hashtable){
Console.WriteLine(dicEntry.Key+""+dicEntry.Value);
}
hashtable.contains();hashtable.ContainsValue();