使用软件的一个重要原因,是因为软件可以帮我们重复处理很多事情。在前面我们已经讲到了循环。循环就是为了重复处理一个事情。那么我们有没有想过,我们要重复处理的一批数据怎么在程序里存放呢?

举个例子吧。

我们有一个通讯录的程序,需要保存通讯录中的所有名字。我们可以这样做。

string name1=”David 老师”;

string name2=”宝贝”;

string name3=”老妈”;

string name300=”前女友”;

假设这个通讯录中有300个名字,那么我们就定义三百个变量来存储它们。好麻烦呢!数组在这个时候就响应人们的迫切需要,诞生了。在软件领域,很多的技术产生的原因,是因为背后有需要。数组是这样,软件产品也一样。一个成功的软件产品,是因为背后有大量的需求。谁解决的好,解决的早,谁就有可能更加成功。

定义和初始化数组

数据类型 [] 数组名字 = new 数据类型[n];

继续上边的例子。我们来定义一个数组name,然后把这个数组初始化,可以保存300个字符串。

String [] name = new string [300];

数组成员的访问:

数组需要先定义和初始化后才能访问,访问数组中的成员可以使用索引器进行访问。什么是索引器?就是在方括号里边写上整数,[序号]。注意一点,数组中成员的序号是从0开始的。

例如要给通讯录中的第一个名字和第二个名字,第三个名字和最后一个名字赋值。

name[0]=”Thinking Jiang 老师”;

name[1]=”宝贝”;

name[2]=”老妈”;

name[299]=”前女友”;

注意一点,数组中成员的序号是从0开始的。所以第一个名字就是name[0],而不是name[1].最后一个名字就是name[299]而不是name[300].

通常在程序中处理数组,都是用循环来做的。我们接下来开一个具体的例子,帮助大家理解。

你创建一个项目。解决方案名称为Sloution20,项目名称为Exercise20,项目类型为控制台程序。点击Program.cs. 在里边加入这些代码。

简单对这段代码进行一些讲解,方便大家的理解。

  1. 第13行定义了一个整数型数组number,并把它初始化为存放5个整数

  2. 16行-20行让用户随机输入5个整数,将他们依次存放在number数组中。

  3. 21行-33行将这个数组排序,使用的是冒泡排序法。这就是传说中的算法。在这里边还使用了嵌套的循环。嵌套循环就是在循环中可以再使用循环。内层循环整个循环一遍后,外层循环才开始下一个循环。

  4. 34行-38行将排序后的结果输出。

运行结果

练习

  1. 读懂这段代码,为重要的语句加上注释。实在搞不明白的话,可以联系我哦。

  2. 如果定义了一个数组 int[] number= new int [5],可以往里边存放6个整数吗?试着存一下,看看是什么结果。

  3. 修改程序,让用户可以输入6个小数,然后按照从大到小的顺序输出。

  4. 试着写一个三种循环的嵌套,搞明白嵌套循环的含义


付费解答C#入门学习过程中碰到的各种问题。

零基础学习C#入门,大多数的问题都可以通过自学或借助互联网解决。

但是还是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至造成你学习的半途而废。通常学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。

这个时候,你最需要什么呢?

对!一个专业的老师给你帮助!

你在学习本课程中,遇到任何问题都可以通过qq或email想本教程作者进行求助。

只需30元,你就可以得到本教程作者的三次专业解答。所以你只需不到300元就可以顺利的完成C#入门,从此推开软件行业的大门。

付费方式非常简单:

用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就可以啦。

教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为自己服务,提高自己的效率。

老师qq:2040227296

老师email:2040227296@qq.com

20 如何在C#中存一批数据,数组的更多相关文章

  1. Electron-vue实战(三)— 如何在Vuex中管理Mock数据

    Electron-vue实战(三)— 如何在Vuex中管理Mock数据 作者:狐狸家的鱼 本文链接:Vuex管理Mock数据 GitHub:sueRimn 在vuex中管理mock数据 关于vuex的 ...

  2. 如何在JavaScript中手动创建类数组对象

    前言 关于什么是js的类数组对象这里不再赘述.可以参考这个链接,还有这里. js中类数组对象很多,概念简单的讲就是看上去像数组,又不是数组,可以使用数字下标方式访问又没有数组方法. 例: argume ...

  3. 如何在C中传递二维数组作为参数?

    回答: 在C语言中,有很多方法可以将2d数组作为参数传递.在下面的部分中,我描述了将2d数组作为参数传递给函数的几种方法. 使用指针传递2d数组以在c中运行 多维数组的第一个元素是另一个数组,所以在这 ...

  4. 如何在spark中读写cassandra数据 ---- 分布式计算框架spark学习之六

    由于预处理的数据都存储在cassandra里面,所以想要用spark进行数据分析的话,需要读取cassandra数据,并把分析结果也一并存回到cassandra:因此需要研究一下spark如何读写ca ...

  5. 如何在Python中处理不平衡数据

    Index1.到底什么是不平衡数据2.处理不平衡数据的理论方法3.Python里有什么包可以处理不平衡样本4.Python中具体如何处理失衡样本印象中很久之前有位朋友说要我写一篇如何处理不平衡数据的文 ...

  6. 如何在MySQL中查询当前数据上一条和下一条的记录

    如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...

  7. 如何在C++中使用动态三维数组

    目录 1. 使用new和delete来构造 2. 使用malloc和free来构造 3.构造函数来生成数组 1. 使用new和delete来构造 在使用new申请内存时,在使用过后,一定要采用dele ...

  8. 七、如何在Java中高效检查一个数组是否含有一个值

    如何检查一个数组(非排序的)是否包含特定的值.这是个非常有用或经常被在Java中使用.这是个在Stack Overflow中高得票的问题.在已经高得票的答案中,有许多不同的处理方法,但是时间的复杂度非 ...

  9. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

随机推荐

  1. pipenv 的使用

    pipenv 的使用 学习了:https://blog.csdn.net/chroming/article/details/77104873?locationNum=4&fps=1 https ...

  2. [React] Make Compound React Components Flexible

    Our current compound component implementation is great, but it's limited in that users cannot render ...

  3. HDU 4968(杭电多校#9 1009题)Improving the GPA (瞎搞)

    题目地址:HDU 4968 这题的做法是全部学科的学分情况枚举,然后推断在这样的情况下是否会符合平均分. 直接暴力枚举就可以. 代码例如以下: #include <cstring> #in ...

  4. 本地调用jni之VC++无法导入问题

    事实上非常easy,无法导入头文件就自己新建呗 1. 首先编写java代码 class Vrv { public native void printVersion(); static { System ...

  5. Redis集群主备模式部署

    网上有非常多用Ruby安装Redis-cluster的文章.可是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群.而且为集群中每个master实例添加一个slave实 ...

  6. 同一台机子 打开两个tomcat

    由于项目測试须要.须要在机子上单独搭建一个图片server,所以就要同一时候打开两个tomcat,这里记录方法. 1. 首先复制一个新的tomcat程序: 2.在新的tomcat程序中改动server ...

  7. Bootstrap Tooltip源码分析

    /* ======================================================================== * Bootstrap: tooltip.js ...

  8. javaSE基础(二)

    文件:文件是信息在计算机上的保存形式. 可控式异常:一种必须被处理或必须在可能产生异常的方法中给出声明的异常. 可控式异常的三种处理方式: 1)try...catch捕获 2)throws语句往上抛 ...

  9. [疑问] C# 多线程程序,如果在并行程序块中开空间会远远慢于将空间开在并行块之外

    // int[,] label = new int[m, n]; Parallel.For(, thread_num, (n) => { ]; i++) { int[] tmp = new in ...

  10. ZOJ 3955 Saddle Point 校赛 一道计数题

    ZOJ3955 题意是这样的 给定一个n*m的整数矩阵 n和m均小于1000 对这个矩阵删去任意行和列后剩余一个矩阵为M{x1,x2,,,,xm;y1,y2,,,,,yn}表示删除任意的M行N列 对于 ...