数组的概念和声明、初始化
数组是一个存储相同类型元素的固定大小的有顺序的集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。
数组也是一种数据类型,数组是引用类型
1.1数组的类型
- 一维数组
- 二维数组
- 多维数组
- 交错数组
1.2简单数组
1.2.1数组的声明
数据类型 [] 数组名称;
通过数组的声明,明确这个数组中可以装载的数据类型有哪些
数据类型可以指定任何所需数据
string[] nameList;
[]:指定数组的秩(维度)。秩指定数组的大小
1.2.2数组的初始化
C#中对于任何变量都要确保其先初始化
声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组
- 只进行初始长度初始化
nameList = new string[5];
这样的初始化确保了数组对象的大小,数组的长度是5,这个数组中可以存放5个string类型的数据 - 长度初始化及元素初始化
nameList = new string[5] { “张三”,“张超”,“张博浩”,“张圣坤”,“王麻子”};
这样初始化,既确定了数组的长度,同时也初始化了数组中的每一个元素
注意:在初始化元素对象务必确保元素个数和数组长度保持一致 - 只进行元素初始化
string[] nameList= { “张三”,“张超”,“张博浩”,“张圣坤”,“王麻子”};
这样初始化,直接将元素存放进数组中,数组的长度有初始化时元素的个数决定,而且在使用这种初始化方式时,必须保证在数组声明时才能使用
1.2.3数组元素的使用
数组声明之后,基本上元素个数确定之后,每个元素如果没有初始化元素则都按照元素数据类型对应的默认值确认。
- 改变数组中的元素
使用索引值进行对指定元素更改
而在C#中所有的索引全部是从0开始 - 调用数组中的元素
使用索引确保元素的顺序
1.3二维数组
二维数组又称为矩形数组
1.3.1二维数组的声明
声明一个 string变量的二维数组,如下
string[,] names;
1.3.2二维数组初始化
names = new string[3, 4];
赋值初始化
names = new string[3, 4] { { "","","",""},{ "","","",""},{ "","","",""} };
二维数组中如果只进行初始化元素,而不进行初始化数组则务必保证每个每个行中的列的个数是一致的,数组的列数由第一行的列数决定
1.3.3二维数组的使用
使用行和列的索引共同使用
MessageBox.Show(names[2,2]);
1.4使用数组注意
索引不能超出最大界限
1.5多维数组
声明一个 int 变量的三维数组,如下
int[,,] list = new int[2,3,3];
1.6交错数组
交错数组是数组的数组
声明一个带有 int 值的交错数组 scores,如下所示
int[][] scores;
声明一个数组不会在内存中创建数组。创建上面的数组:
int[][] scores=new int[5][];
后面的[]中不能再指定长度
您可以初始化一个交错数组,如下所示:
lists = new string[3][] {new string[] { "1","2"},new string[]{ "3"},new string[]{ "3","2","1"} };
数组的使用
2.1数组解析
2.2冒泡排序
N个数字来排队,两两相比小靠前。外层循环N-1,内层循环N-1-i
for (int i=0;i<list.Length-1 ;i++ )
{
for (int j = 0; j < list.Length-i-1; j++)
{
if (list[j]<list[j+1])
{
int temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}