C#数组--(一维数组,二维数组的声明,使用及遍历)
数组:是具有相同数据类型的一组数据的集合。数组的每一个的变量称为数组的元素,数组能够容纳元素的数称为数组的长度。
一维数组:以线性方式存储固定数目的数组元素,它只需要1个索引值即可标识任意1个数组元素
1.格式:数组类型 [ ] 数组名称;
[ ] 指定数组的秩(维度),秩指定数组的大小。
2.数据类型可以为任意数据类型
3.数据访问之前必须初始化
4.初始化方式有两种:
(1)new关键词;(2)字面值逗号相隔指定。
For example
//创建并初始化一维数组
int[] day = new int[] { , , , , , , , , , , , };
int[] score = new int[] { , , , };
遍历元素:数组中遍历元素,即对数组中所有元素都按次序访问且仅一次
1.for循环,foreach循环
2.数组索引从0开始,所以访问数组的最后一个人元素应该为n-1
3.遍历数组时避免越界
4.一维数组遍历时应该尽量使用foreach语句,因为foreach会自动检查数组的索引,使其不会出现越界值。
For example
//创建并初始化一维数组
int[] day = new int[] { , , , , , , , , , , , };
for (int i = ; i < ; i++) //利用循环将信息输出
{
Console.WriteLine((i + ) + "月有" + day[i] + "天"); //输出的信息
}
Console.ReadLine();
int[] score = new int[] { , , , };
Console.WriteLine("小明的各科成绩如下:");
for (int i = ; i < ; 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行的二维数组
arr[] = new char[] { '春', '眠', '不', '觉', '晓' };// 为每一行赋值
arr[] = new char[] { '处', '处', '闻', '啼', '鸟' };
arr[] = new char[] { '夜', '来', '风', '语', '声' };
arr[] = new char[] { '花', '落', '知', '多', '少' };
/* 横版输出 */
Console.WriteLine("-----横版-----");
for (int i = ; i < ; i++)
{ // 循环4行
for (int j = ; j < ; j++)
{ // 循环5列
Console.Write(arr[i][j]); // 输出数组中的元素
}
if (i % == )
{
Console.WriteLine(","); // 如果是一、三句,输出逗号
}
else
{
Console.WriteLine("。"); // 如果是二、四句,输出句号
}
}
/* 竖版输出 */
Console.WriteLine("\n-----竖版-----");
for (int j = ; j < ; j++)
{ // 列变行
for (int i = ; i >= ; i--)
{ // 行变列,反序输出
Console.Write(arr[i][j]); // 输出数组中的元素
}
Console.WriteLine(); //换行
}
Console.WriteLine("。,。,"); //输出最后的标点
Console.ReadLine();
Console.Title = "简单客车售票系统"; //设置控制台标题
string[,] zuo = new string[, ]; //定义二维数组
for (int i = ; i < ; i++) //for循环开始
{
for (int j = ; j < ; j++) //for循环开始
{
zuo[i, j] = "【有票】"; //初始化二维数组
}
}
string s = string.Empty; //定义字符串变量
while (true) //开始售票
{
Console.Clear(); //清空控制台信息
Console.WriteLine("\n 简单客车售票系统" + "\n"); //输出字符串
for (int i = ; i < ; i++)
{
for (int j = ; j < ; 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[]); //得到坐位行数
int two = int.Parse(ss[]); //得到坐位列数
zuo[one, two] = "【已售】"; //标记售出票状态
}
C#数组--(一维数组,二维数组的声明,使用及遍历)的更多相关文章
- PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?
如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...
- php获取一维,二维数组长度的方法(有实例)
在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数c ...
- egret之一维,二维数组
一维数组转换成二维数组下标公式: 行=下标/二维数组列数 列=下标%二维数组列数+1 ] + ); ] + ); 二维数组转一维数组: 下标=(二维数当前行-1)*列数+二维数当前列-1: let i ...
- Java一维与二维数组的拷贝与排序
Java一维与二维数组的拷贝与排序 目录 Java一维与二维数组的拷贝与排序 Arrays.sort() 一维数组升序排序 二维数组按行升序排序 二维数组按列升序排序 Java中的数组 Java中数组 ...
- C语言数组:C语言数组定义、二维数组、动态数组、字符串数组
1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...
- 06-01 Java 二维数组格式、二维数组内存图解、二维数组操作
二维数组格式1 /* 二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的 ...
- C语言 一维数组叠加为二维数组样例
这里参看memcpy的用法,将一个一维整型数组不停的叠加为二维数组 使用宏定义来控制二维数组的行列 代码如下: #include <stdio.h> #include <stdlib ...
- js将一个具有相同键值对的一维数组转换成二维数组
这两天,一个前端朋友在面试的笔试过程中遇到了一道类似于"用js实现将一个具有相同code值的一维数组转换成相同code值在一起的二维数组"的题目.他面试过后,把这个问题抛给了我,问 ...
- js将一维数组转化为二维数组
遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...
- 10-20C#基础---一维、二维数组&&冒泡排序
一.一维数组 1.定义:是某一种数据类型的数据的组合,数组用来分组基本类型或相同类型的对象.数组中的实体叫做数组的元素或成员. 2. 格式:int[ ] shuzu=new int[ 6];存放int ...
随机推荐
- 【ASP.NET Core】在CentOS上安装.NET Core运行时、部署到CentOS
第一步:Add the dotnet product feed sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc ...
- linux下tomcat的https访问
1.安装JDK(省略…) 2.安装tomcat(省略…) 3.配置SSL 进入JDK的安装目录 # cd /usr/java/jdk1..0_03/bin # ./keytool -genkey -a ...
- Excel坐标自动在AutoCad绘图_3
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Easy methods to select MB Star, Extremely MB Star, MB SD C4, Mercedes BENZ C5 SD
MB Star, Extremely MB SD Connect C4, MB SD C4, Mercedes BENZ C5 SD are usually analysis tools to get ...
- mySQL简单操作(三)
1.事务 (1)ACID 原子性(不可分割性)automicity 一致性 consistency 隔离性 isolation 持久性 durability (2)事务控制语句 begin/start ...
- 【记录】VMware解决网络找不到服务器的问题
本想在虚拟机上的Linux上练习安装Mysql8.0版本的,网络连不上的问题卡了N天简直 1. 点击虚拟机右键设置,虚拟机默认设置为NAT模式,这里无需修改. 2. 点击编辑,虚拟网络设置,勾选主机连 ...
- 猴子吃桃问题(Java递归实现)
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下 ...
- opencv学习之路(38)、Mat像素统计基础——均值,标准差,协方差;特征值,特征向量
本文部分内容转自 https://www.cnblogs.com/chaosimple/p/3182157.html 一.统计学概念 二.为什么需要协方差 三.协方差矩阵 注:上述协方差矩阵还需要除以 ...
- 含服务端,客户端,数据库的注册/登录/聊天/在线/离线查看的聊天demo
用websocket,mysql,node的写了一个简单聊天的demo 实现了: 注册,登陆功能: 聊天信息广播: 在线/离线状态的查看: 服务端: 主要引用http,fs,mysql,socket. ...
- Bugku-CTF之flag.php(点了login咋没反应)
Day20 flag.php 地址:http://123.206.87.240:8002/flagphp/ 点了login咋没反应 提示:hint