数组和集合的属性
Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。
Array 类提供了各种用于数组的属性
IsFixedSize获取一个值,该值指示数组是否带有固定大小。
IsReadOnly获取一个值,该值指示数组是否只读
Length获取一个 32 位整数,该值表示所有维度的数组中的元素总数
LongLength获取一个 64 位整数,该值表示所有维度的数组中的元素总数。
Rank获取数组的秩(维度)
Array 类提供了各种用于数组的方法
Clear根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null
Copy(Array, Array, Int32)从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。
长度由一个 32 位整数指定
CopyTo(Array, Int32)从当前的一维数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。
GetLength 获取一个 32 位整数,该值表示指定维度的数组中的元素总数。
GetLongLength获取一个 64 位整数,该值表示指定维度的数组中的元素总数。
GetLowerBound获取数组中指定维度的下界。
GetType获取当前实例的类型。从对象(Object)继承。
Array 数组的基类
GetUpperBound获取数组中指定维度的上界。
GetValue(Int32)获取一维数组中指定位置的值。索引由一个 32 位整数指定。
IndexOf(Array, Object)搜索指定的对象,返回整个一维数组中第一次出现的索引。
Reverse(Array)逆转整个一维数组中元素的顺序。
SetValue(Object, Int32)给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。
Sort(Array)使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。
ToString返回一个表示当前对象的字符串。从对象(Object)继承
定义数组:
int [ ] 数组名 = new int[3]
int[] arry = { 1, 2, 3, 4, 5 };
int[][] aryys = {
new int[]{ 1,2},
new int[]{ 1,2,3,4,5},
new int[]{ 1,2,3,4,5,6,7,8,9},
};
int[,] arry = { { 1, 2, 3 }, { 3, 6, 9 }, { 1, 3, 5 } };
数组赋值 必须设置数组初始值设定项
集合
动态数组(ArrayList)
它代表了可被单独索引的对象的有序集合。
它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
哈希表(Hashtable)
它使用键来访问集合中的元素。
当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。
哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。
排序列表(SortedList)
用于处理和表现类似key value的键值对,它可以使用键和索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。
堆栈(Stack)
约等于栈 它代表了一个后进先出的对象集合。
当您需要对各项进行后进先出的访问时,则使用堆栈。
当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。
队列(Queue)
约等于堆 它代表了一个先进先出的对象集合。
当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
堆(heap):堆是一种经过排序的树形数据结构,每个结点都有一个值。
栈(stack):它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。(PS:颇有砌墙的砖——后来者居上的感觉。)