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

举个例子吧。

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

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. Network-POJ3694(最小公共祖先LCA+Tarjin)

    http://poj.org/problem?id=3694 这一题  为什么要找最小祖先呢 当两个节点连到一块的时候  找最小公共节点就相当于找强连通分支 再找最小公共节点的过程中直到找到  这个过 ...

  2. cogs——1215. [Tyvj Aug11] 冗余电网

    1215. [Tyvj Aug11] 冗余电网 ★   输入文件:ugrid.in   输出文件:ugrid.out   简单对比 时间限制:1 s   内存限制:128 MB TYVJ八月月赛提高组 ...

  3. SpringBoot学习day01

    SpringBoot目的在于创建和启动新的基于Spring框架的项目.SpringBoot会选择最合适的Spring子项目和第三方开源库进行整合.大部分SpringBoot应用只需要非常少量的配置就可 ...

  4. Java之旅hibernate(2)——文件夹结构

    Hibernate的jar最好是到官网上进行下载.下载最新的稳定的版本号.之后进行解压,以下我们介绍一下hibernate的包结构. 1.      包结构 我们能够看到包文件夹结构发生了变化.我以5 ...

  5. Linux/UNIX之进程环境

    进程环境 进程终止 有8种方式使进程终止,当中5中为正常终止,它们是 1)      从main返回 2)      调用exit 3)      调用_exit或_Exit 4)      最后一个 ...

  6. mysql链接 及备份

    服务器数据库命令:mysql -usparks -pi6K1yRWUQVaIR79Z5vG1 -hrm-bp13z51p96xdax6i0.mysql.rds.aliyuncs.com 服务器数据库备 ...

  7. python 【目录】

    python[目录] python[第一篇]初识python python[第二篇]python基本数据类型 python[第三篇]python函数基础

  8. Python开发【第5节】【函数基础】

    1.函数 函数的本质就是功能的封装. 函数的作用 提升代码的重复利用率,避免重复开发相同代码 提高程序开发效率 便于程序维护 2.函数定义 def 函数名(参数): """ ...

  9. 2016/2/18 html 图片热点,网页划区,拼接,表单

    ①图片热点 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. 显示 ②网页划区 在一个网页里,规划出一个区域用来展示另一个网页的内容. ③网页拼接 在一个网络页面内,规划 ...

  10. CSU 1807: 最长上升子序列~ 分类讨论

    1807: 最长上升子序列~ Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 138  Solved: 17[Submit][Status][Web Bo ...