七数组和集合(一维数组和二维数组的声明以及使用,ArrayList类,HashTable,List,Directory字典等常用集合(泛型和非泛型))
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七数组和集合(一维数组和二维数组的声明以及使用,ArrayList类,HashTable,List,Directory字典等常用集合(泛型和非泛型))相关的知识,希望对你有一定的参考价值。
数组
数组就是一个集合,同一数据类型的一组值 ,是数量固定的相同类型元素的组合 。
数组属于引用类型 数组的索引从0开始,就是说如果你想访问一个数组元素,你就得通过,相应元素的整数索引号访问。
定义一维数组:数组类型[ ] 数组名=new 数据类型[元素个数];
int [ ] arrMyInt= new int [10];//定义了一个数组
//该数组的数据类型是int,具有10个元素。
int [ ] arrMyInt; //声明一维数组
arrMyInt =new int [10]; //给数组分配存储空间
初始化数组—动态初始化:在初始化数组的时候后必须用new关键字,同时初始化数组时必须声明数组的大小 int[ ] arrIntArray; arrIntArray=new int[3];//可以容纳3个整数 arrIntArray[0]=12;//为数组的第一个元素赋值 arrIntArray[1]=44;//为数组的第二个元素赋值 arrIntArray[2]=6; 也可以将定义和动态初始化写在一起:string[ ] arrMyString=new string[3]{“as”,”vb”,”23”}; 初始化数组—静态初始化:用这种方法对数组进行初始化时,无须说明数组元素的个数,只需按顺序列出数组中的全部元素即可,系统会自动计算并分配数组所需的内存空间。 int[ ] arrPoints={-45,9,29,32,46}; //定义了一个5个元素的整型数组 char[ ] arrLetters={‘a‘,‘b‘,‘c‘,‘d‘}; //定义了一个4个元素的字符型数组
数组的初始值
当你添加一个值类型到数组初始化时值是
数值类型被初始化为0
布尔类型被初始化为false
字符类型被初始化为null
枚举类型被初始化为0
二维数组
//二维数组的定义和初始化 double[ , ] arrDouble=new double[ 3, 4 ] ; //在动态初始化二维数组时,也可以直接为其赋予初始化值。 int[ , ] arrInt=new int[ , ]{{1, 3}, {2, 4}, {5,6}}; //二维数组也可以进行静态初始化 har[ , ] chrLetter={{‘a’, ‘b’, ‘c’}, {‘x’, ‘y’, ‘z’}};
ArrayList类
动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。
但是,与数组不同的是,可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。
它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
ArrayList al = new ArrayList(); Console.WriteLine("Adding some numbers:"); al.Add(45); al.Add(78); al.Add(33); al.Add(56); al.Add(12); al.Add(23); al.Add(9); Console.WriteLine("Capacity: {0} ", al.Capacity); Console.WriteLine("Count: {0}", al.Count); Console.Write("Content: "); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.Write("Sorted Content: "); al.Sort(); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.ReadKey(); //当上面的代码被编译和执行时,它会产生下列结果 Adding some numbers: Capacity: 8 Count: 7 Content: 45 78 33 56 12 23 9 Content: 9 12 23 33 45 56 78
Hashtable 类
Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。
当使用键访问元素时,则使用哈希表,而且可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。
List
所属命名空间:System.Collections.Generic
List<T>类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口。
泛型的好处: 它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行,向下强制类型转换,所以性能得到提高。
Directory
在C#中,Dictionary提供快速的基于兼职的元素查找。它的结构是这样的:Dictionary<[key], [value]> ,当有很多元素的时候可以使用它。
它包含在System.Collections.Generic名空间中。在使用前,你必须声明它的键类型和值类型。
任何键都必须是唯一的,键不能为空引用null,若值为引用类型,则可以为空值。
创建及初始化:Dictionary<int,string> myDictionary=new Dictionary<int,string>();
以上是关于七数组和集合(一维数组和二维数组的声明以及使用,ArrayList类,HashTable,List,Directory字典等常用集合(泛型和非泛型))的主要内容,如果未能解决你的问题,请参考以下文章