数组:是具有相同数据类型的一组数据的集合。数组的每一个的变量称为数组的元素,数组能够容纳元素的数称为数组的长度。

一维数组:以线性方式存储固定数目的数组元素,它只需要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#数组--(一维数组,二维数组的声明,使用及遍历)的更多相关文章

  1. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组' ...

  2. php获取一维,二维数组长度的方法(有实例)

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数c ...

  3. egret之一维,二维数组

    一维数组转换成二维数组下标公式: 行=下标/二维数组列数 列=下标%二维数组列数+1 ] + ); ] + ); 二维数组转一维数组: 下标=(二维数当前行-1)*列数+二维数当前列-1: let i ...

  4. Java一维与二维数组的拷贝与排序

    Java一维与二维数组的拷贝与排序 目录 Java一维与二维数组的拷贝与排序 Arrays.sort() 一维数组升序排序 二维数组按行升序排序 二维数组按列升序排序 Java中的数组 Java中数组 ...

  5. C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

    1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...

  6. 06-01 Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 /* 二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的 ...

  7. C语言 一维数组叠加为二维数组样例

    这里参看memcpy的用法,将一个一维整型数组不停的叠加为二维数组 使用宏定义来控制二维数组的行列 代码如下: #include <stdio.h> #include <stdlib ...

  8. js将一个具有相同键值对的一维数组转换成二维数组

    这两天,一个前端朋友在面试的笔试过程中遇到了一道类似于"用js实现将一个具有相同code值的一维数组转换成相同code值在一起的二维数组"的题目.他面试过后,把这个问题抛给了我,问 ...

  9. js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  10. 10-20C#基础---一维、二维数组&&冒泡排序

    一.一维数组 1.定义:是某一种数据类型的数据的组合,数组用来分组基本类型或相同类型的对象.数组中的实体叫做数组的元素或成员. 2. 格式:int[ ] shuzu=new int[ 6];存放int ...

随机推荐

  1. vue进阶--外卖商家页

    一.准备工作 1.vue特性:轻量级.简洁.高效.组件化.数据驱动 2.技术分析:使用vue- resource与后端交互(ajax通信,ie9+)  使用vue-router作为前端路由   bet ...

  2. vue知识总结

    vue: 渐进式JavaScript 框架 Vue项目构建 npm install -g vue vue init webpack-simple my-project cd my-project np ...

  3. mac系统如何处理来自身份不明的开发者

    打开终端(终端在 应用程序 -> 实用工具 内) sudo spctl --master-disable

  4. 操作mongodb

    MongoDB数据库是以k-v形式存储在磁盘上的. import pymongoclient = pymongo.MongoClient(host='10.29.3.40',port=27017)db ...

  5. op 和 oo 的区别

    本是之前一位前辈留下的问题,因为我不是程序出身,略懂一些代码,后又查了很多人的博客,问了周围搞开发的朋友,得出以下结论: 有人这么形容OP和OO的不同:用面向过程的方法写出来的程序是一份蛋炒饭,而用面 ...

  6. JS动态添加行列

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Add-Delete Row.a ...

  7. Jquery实现checkbox按shift多选

    html <html> <head> <meta http-equiv="content-type" content="text/html; ...

  8. 【题解】Luogu P4396 [AHOI2013]作业

    原题传送门 最快的解法好像是cdq,但窝只会莫队+线段树/树状数组的做法 题目要我们求1.在区间[l,r]中值域在[a,b]中有多少个数2.在区间[l,r]中值域在[a,b]中有多少个不同数 一眼就看 ...

  9. [c/c++] programming之路(31)、位运算(二)

    一.取反的高级用法 #include<stdio.h> #include<stdlib.h> //取反的作用:末位清零 取反适用于各种位数不同的数据 void main0(){ ...

  10. MemoryStream生成Excel

    public static MemoryStream ToExcel<T>(List<T> list, string filePath = null) { var memory ...