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 ...
随机推荐
- CentOS7中PPTP的配置
最近做各种vpn,记录一下pptp的流程 1.准备 #yum install -y perl ppp iptables //centos默认安装了iptables和ppp 2.安装pptpd #y ...
- Ubuntu16.04安装Redis
前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:作为实时监控信号处理也非常不错. 环境 ...
- Hadoop HDFS, YARN ,MAPREDUCE,MAPREDUCE ON YARN
HDFS 系统架构图 NameNode 是主节点,存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等.NameNode将 ...
- Flask-Script
其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 Django的启动命令是:python manager.py runserver ...
- Linux CAN Shell 测试脚本程序
2012-01-13 22:57:14 为我的开发板2440做二次开发,添加了can驱动,做了驱动测试程序,没理由不添加一个测试脚本程序啊!修改了测试程序,使应用程序更加灵活,添加了一下传递参数.接着 ...
- dedecms自定义模块流程
dedecms的自定义模块 1.在dedecms主目录下创建一个模块目录 2.在模块目录下创建如下目录 1 2 3 4 5 6 7 8 9 10 网站根目录/ |-自定义模块 ...
- 在 Azure 上部署 Kubernetes 集群
在实验.演示的时候,或者是生产过程中,我经常会需要运行一些 Docker 负载.虽然这在本地计算机上十分容易,但是当你要在云端运行的时候就有点困难了.相比于本地运行,在云端运行真的太复杂了.我尝试了几 ...
- 通过宝塔webhook,实现git自动拉取服务器代码
1.宝塔安装webhook,添加一条记录,脚本内容为: #!/bin/bash echo "" #输出当前时间 date --date='0 days ago' "+%Y ...
- js'基础-1
---恢复内容开始--- ----------- 1.return <!DOCTYPE html><html lang="en"><head> ...
- 3.JAVA基础复习——JAVA中的类与对象
什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...