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

举个例子吧。

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

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. 创建Django项目(二)——数据库配置

    2013-08-05 20:53:44|          1.数据库配置         举例是用MySQL数据库,首先在settings文件中做配置,如下: DATABASES = {     ' ...

  2. [bzoj2150]部落战争_二分图最小路径覆盖

    部落战争 bzoj-2150 题目大意:题目链接. 注释:略. 想法: 显然是最小路径覆盖,我们知道:二分图最小路径覆盖等于节点总数-最大匹配. 所以我们用匈牙利或者dinic跑出最大匹配,然后用总结 ...

  3. easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题

    这个BUG 我花了一个半小时, 还是看不出哪里的问题,  于是就百度到这么一段话,我需要记住 <================================================= ...

  4. 选择器的使用(nth-of-type和nth-last-of-type选择器)

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  5. 咏南 DELPHI DATASNAP LINUX中间件

    咏南 DATASNAP LINUX中间件   咏南 DATASNAP LINUX中间件,一套源码,同时支持WINDOWS和LINUX操作系统. 基于DELPHI 10.2 TOKYO开发 使用FIRE ...

  6. linux 下 打包 和解压缩

    01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩! ...

  7. Android应用层View绘制流程之measure,layout,draw三步曲

    概述 上一篇博文对DecorView和ViewRootImpl的关系进行了剖析,这篇文章主要是来剖析View绘制的三个基本流程:measure,layout,draw.仅仅有把这三个基本流程搞清楚了, ...

  8. 扩展GCD 中国剩余定理(CRT) 乘法逆元模版

    extend_gcd: 已知 a,b (a>=0,b>=0) 求一组解 (x,y) 使得 (x,y)满足 gcd(a,b) = ax+by 以下代码中d = gcd(a,b).顺便求出gc ...

  9. 【OI】线性筛

    如何查找一个范围内的所有素数? 可以是从1~n挨个判断n%i 是否 == 0,也可以从 1~sqr(n) 一个个判断. 相信你们也听说过埃氏筛法,是使用每一个数的倍数筛掉合数!但是!每一个合数要被筛多 ...

  10. 第二次PHP面试题

    昨天下午翘班去参加了人生中第二次PHP面试.是一家相对第一家更加专业的互联网公司.效果不如第一家理想,笔试题有点难,而且偏高理论,面试时面试官也还不错,一起探讨,可是他的问题我还是很多都不知道,果然是 ...