数组的分类:一维数组,多维数组,不规则数组
数组的应用:创建,赋值,应用
声明一维数组:
int[]arr=new int[100];
string[] name1=new strung[] {"张三","李四","王五"}
C#多维数组
多维数组又称为矩形数组
string [,] names;
int [,,] m;
C#交错数组
交错数组是数组的数组,可以声明一个带有int值的交错数组 scores
int [] [] scores;
C# Array 类
Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。
Array 类提供了各种用于数组的属性和方法。
1.Clear
根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。
2.Copy(Array, Array, Int32)
从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个 32 位整数指定。
3.CopyTo(Array, Int32)
从当前的一维数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。
4.GetLength
获取一个 32 位整数,该值表示指定维度的数组中的元素总数。
5.GetLongLength
获取一个 64 位整数,该值表示指定维度的数组中的元素总数。
6.GetLowerBound
获取数组中指定维度的下界。
7.GetType
获取当前实例的类型。从对象(Object)继承。
8.GetUpperBound
获取数组中指定维度的上界。
9.GetValue(Int32)
获取一维数组中指定位置的值。索引由一个 32 位整数指定。
10.IndexOf(Array, Object)
搜索指定的对象,返回整个一维数组中第一次出现的索引。
11.Reverse(Array)
逆转整个一维数组中元素的顺序。
12.SetValue(Object, Int32)
给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。
13.Sort(Array)
使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。
14.ToString
返回一个表示当前对象的字符串。从对象(Object)继承。
C# 传递数组给函数
在 C# 中,您可以传递数组作为函数的参数。您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
C# 参数数组
有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。
params 关键字
在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以只传递一组数组
集合
1、BCL(Base Class Library)中集合类型分为泛型集合与非泛型集合。
2、非泛型集合的类和接口位于System.Collections命名空间。
3、泛型集合的类和接口位于System.Collections.Generic命名空间。
System.Collection 命名空间的类 动态数组(ArrayList) 哈希表(Hashtable) 排序列表(SortedList) 堆栈(Stack) 队列(Queue) 点阵列(BitArray)
堆(heap):堆是一种经过排序的树形数据结构,每个结点都有一个值。
栈(stack):它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。(PS:颇有砌墙的砖——后来者居上的感觉。)