C#数组--(一维数组,二维数组的声明,使用及遍历)
数组:是具有相同数据类型的一组数据的集合。数组的每一个的变量称为数组的元素,数组能够容纳元素的数称为数组的长度。
一维数组:以线性方式存储固定数目的数组元素,它只需要1个索引值即可标识任意1个数组元素
1.格式:数组类型 [ ] 数组名称;
[ ] 指定数组的秩(维度),秩指定数组的大小。
2.数据类型可以为任意数据类型
3.数据访问之前必须初始化
4.初始化方式有两种:
(1)new关键词;(2)字面值逗号相隔指定。
For example
//创建并初始化一维数组 int[] day = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int[] score = new int[4] { 95, 88, 80, 96 };
遍历元素:数组中遍历元素,即对数组中所有元素都按次序访问且仅一次
1.for循环,foreach循环
2.数组索引从0开始,所以访问数组的最后一个人元素应该为n-1
3.遍历数组时避免越界
4.一维数组遍历时应该尽量使用foreach语句,因为foreach会自动检查数组的索引,使其不会出现越界值。
For example
//创建并初始化一维数组 int[] day = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; for (int i = 0; i < 12; i++) //利用循环将信息输出 { Console.WriteLine((i + 1) + "月有" + day[i] + "天"); //输出的信息 } Console.ReadLine();
int[] score = new int[4] { 95, 88, 80, 96 }; Console.WriteLine("小明的各科成绩如下:"); for (int i = 0; i < 4; i++)//利用循环将信息输出 { Console.Write(" " + score[i] + " ");//输出的信息 } Console.ReadLine();
Console.WriteLine("狼人杀游戏主要身份:");//提示信息 //定义数组,存储狼人杀游戏主要角色 string[] roles = { "狼人", "预言家", "村民", "女巫", "丘比特", "猎人", "守卫" }; foreach(string role in roles)//遍历数组 { Console.Write(role + " ");//输出遍历到的元素 } Console.ReadLine();
二维数组:多维数组最简单的形式,一个二维数组可以被看做是一个带有x行和y行列的表格。
1.格式:数据类型[ , ] <数组名称>
2.初始化同样有两种:
(1)new关键字(2)字面值初始化
For example
char[][] arr = new char[4][];// 创建一个4行的二维数组 arr[0] = new char[] { '春', '眠', '不', '觉', '晓' };// 为每一行赋值 arr[1] = new char[] { '处', '处', '闻', '啼', '鸟' }; arr[2] = new char[] { '夜', '来', '风', '语', '声' }; arr[3] = new char[] { '花', '落', '知', '多', '少' }; /* 横版输出 */ Console.WriteLine("-----横版-----"); for (int i = 0; i < 4; i++) { // 循环4行 for (int j = 0; j < 5; j++) { // 循环5列 Console.Write(arr[i][j]); // 输出数组中的元素 } if (i % 2 == 0) { Console.WriteLine(","); // 如果是一、三句,输出逗号 } else { Console.WriteLine("。"); // 如果是二、四句,输出句号 } } /* 竖版输出 */ Console.WriteLine("\n-----竖版-----"); for (int j = 0; j < 5; j++) { // 列变行 for (int i = 3; i >= 0; i--) { // 行变列,反序输出 Console.Write(arr[i][j]); // 输出数组中的元素 } Console.WriteLine(); //换行 } Console.WriteLine("。,。,"); //输出最后的标点 Console.ReadLine();
Console.Title = "简单客车售票系统"; //设置控制台标题 string[,] zuo = new string[9, 4]; //定义二维数组 for (int i = 0; i < 9; i++) //for循环开始 { for (int j = 0; j < 4; j++) //for循环开始 { zuo[i, j] = "【有票】"; //初始化二维数组 } } string s = string.Empty; //定义字符串变量 while (true) //开始售票 { Console.Clear(); //清空控制台信息 Console.WriteLine("\n 简单客车售票系统" + "\n"); //输出字符串 for (int i = 0; i < 9; i++) { for (int j = 0; j < 4; j++) { System.Console.Write(zuo[i, j]); //输出售票信息 } Console.WriteLine(); //输出换行符 } Console.Write("请输入坐位行号和列号(如:0,2)输入q键退出:"); s = Console.ReadLine(); //售票信息输入 if (s == "q") break; //输入字符串"q"退出系统 string[] ss = s.Split(','); //拆分字符串 int one = int.Parse(ss[0]); //得到坐位行数 int two = int.Parse(ss[1]); //得到坐位列数 zuo[one, two] = "【已售】"; //标记售出票状态 }
Copyright@libaichen 287944304@qq.com