C#数组–(一维数组,二维数组的声明,使用及遍历)

C#数组–(一维数组,二维数组的声明,使用及遍历)数组:是具有相同数据类型的一组数据的集合。数组的每一个的变量称为数组的元素,数组能够容纳元素的数称为数组的长度。一维数组:以线性方式存储固定数目的数组元素,它只需要1个索引值即可标识任意1个数组元素

大家好,又见面了,我是你们的朋友全栈君。

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

一维数组:以线性方式存储固定数目的数组元素,它只需要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] = "【已售】";                         //标记售出票状态
            }

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155316.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sstream读取文件

    sstream读取文件对于如下图所示的数据文件:274表示有274个点对,以下每一行代表一个点对,每一行的四个数从左到右依次是一个第一个点的x坐标、y坐标、第二个点的x坐标、y坐标,现在要把点对数和每个点对读取并存储,具体代码如下:#include<iostream>#include<sstream>#include<fstream>#include<string&…

    2022年6月4日
    47
  • 5款强大的开源报表工具有哪些_开源报表工具 java

    5款强大的开源报表工具有哪些_开源报表工具 java作者:JEECG开源社区來源:简书最近发现几款不错的开源报表,还提供源码,现在给大家分享一下,希望能带来帮助!1、项目名称:积木报表项目简介:积木报表,免费的企业级WEB报表工具。专注于…

    2022年10月20日
    2
  • 天翼1号 2021 5G全网通云手机_2021年再买5g手机

    天翼1号 2021 5G全网通云手机_2021年再买5g手机2021年天翼智能生态博览会期间,展锐基于中国电信的5GSA网络,在天翼1号2021手机上完成了5G网络切片端到端业务验证,成功验证了云监控、云桌面、云手机、天翼超高清、小翼管家、云游戏等业务,这标志着天翼1号2021已具备网络切片能力。演示采用的切片目标方案由展锐和中国电信研究院联合研发,方案基于展锐调制解调器中心化(Modem-Centric)架构设计,中国电信研究院研发了终端切片中间件SDK,天翼1号终端适配开发,成功实现了应用程序未作任何修改的前提下顺利接入5G切片网络。本次业务验证意味着应用

    2022年9月1日
    7
  • EasyPusher/EasyDarwin/EasyPlayer实现手机直播版本及效果整理「建议收藏」

    EasyPusher/EasyDarwin/EasyPlayer实现手机直播版本及效果整理「建议收藏」EasyPusher手机直播实现功能最近很多EasyDarwin爱好者提出了手机移动端直播的功能需求,尤其是如何做出像映客这样能够快速出画面播放的效果,经过一段时间的移动端和服务端的优化,EasyPusher直播推送+EasyDarwin流媒体服务器+EasyPlayer客户端播放已经非常好实现了这些需求,EasyPusher编码推送+EasyDarwin公网传输+EasyPlayer播放整个流程,

    2022年6月22日
    39
  • pyharm激活码_通用破解码

    pyharm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    51
  • 神奇的CSS3按钮特效

    点击这里查看效果以下是源代码:1234567CSS3神奇的按钮-柯乐义89678695696697请使用支持CSS3的浏览器查看本页。原文698699700701

    2021年12月20日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号