C#中的数组(2016.2.10)
1、声明数组和赋值
语法
数据类型[]数组名=new 数据类型[长度];
数组元素初始化
数组经过初始化以后,数组元素有默认的初始值
double类型为 0.0
int类型为 0
char类型为 ‘a’
bool类型为 false
string类型为 null数据元素索引从0开始递增
应用示例
static void Main(string[] args){ string[]names=new string[3];//长度为3的string数组 names[0]="HBING";//给第1个元素赋值 names[1]="H_BING";//给第2个元素赋值 names[2]="HBing";//给第3个元素赋值 Console.Write(names[0]+" ");//打印第1个元素 Console.Write(names[1]+" ");//打印第2个元素 Console.Write(names[2]+" ");//打印第3个元素 }
数组.Length 属性会返回数组长度(即数组元素的个数)
应用示例
static void Main(string[] args){ string[]friends=new string[2];//声明长度2的string数组 friends[0]="钢铁侠"; friends[1]="哆啦A梦"; Console.WriteLine("我有{0}个号朋友",friends.Length); }
运行结果
2、 foreach关键字
for循环与foreach循环之区别
for循环使我们可以通过索引访问数组元素
foreach循环则可以不依赖索引而读取每一个数组元素- 示例
static void Main(string[] args){ int[] num={55,66,77,88,99,101};//整型数组 //①用for循环打印,需要知道长度和索引 for(int i=0;i<num.Length;i++){ Console.Write(num[i]+" "); } Console.WriteLine();//换行 //②用foreach循环打印 foreach(int x in num){ Console.Write(x+" "); } Console.WriteLine();//换行 }
- 示例
语法
- 迭代变量只能用于读取数组中的值,但是不能给数组元素赋值。若尝试给迭代变量赋值,将会有以下错误提示。
- 迭代变量只能用于读取数组中的值,但是不能给数组元素赋值。若尝试给迭代变量赋值,将会有以下错误提示。
3、二维数组的声明和访问
二维数组,就是以数组作为元素的数组。与一维数组的对比如下
二维数组声明
int[,] arr = new int[2,3];//包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素
二维数组元素赋值与打印
arr[1,0]=28;//二维数组元素有2个索引,都是从0开始,以arr数组为例,元素索引从[0,0]到[1,2] Console.Write(arr[1,0]);
应用示例
static void Main(string[] args){ int[,] score=new int[4,2]{{89,86},{69,40},{64,92},{82,100}}; Console.WriteLine("同学们的分数是"); for(int i=0;i<score.GetLongLength(0);i++){ Console.WriteLine("语文:{0},数学{1}",score[i,0],score[i,1]); } }
运行结果