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

举个例子吧。

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

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. mysql性能调优——锁优化

    影响mysql server性能的相关因素 需求和架构及业务实现优化:55% Query语句优化:30% 数据库自身优化:15% 很多时候大家看到数据库应用系统中性能瓶颈出现在数据库方面,就希望通过数 ...

  2. 洛谷 P1404 平均数

    P1404 平均数 题目描述 给一个长度为n的数列,我们需要找出该数列的一个子串,使得子串平均数最大化,并且子串长度>=m. 输入输出格式 输入格式: N+1行, 第一行两个整数n和m 接下来n ...

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

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

  4. Angular CLI: 1.6.7 入门

    当你使用npm或者yarn也安装不了angular-cli时,请使用淘宝镜像. Step1 npm i -g cnpm --registry=https://registry.npm.taobao.o ...

  5. create-react-app 引入 antd 及 解决 antd 样式无法显示的bug

    方案一: npm run eject 暴露所有内建的配置 安装组件库 yarn add antd babel-plugin-import 根目录下新建.roadhogrc文件(别忘了前面的点,这是ro ...

  6. 为什么有些信号线串接33R小电阻?

    本人只是刚入坑的硬件助理,一名小白,很多都知识不懂,以下信息多数来自网络,可能不准确,恳请批评指正! 正文: 参考资料:http://blog.csdn.net/xiangyuqxq/article/ ...

  7. SpringMVC学习指南-前言

    SpringMVC是Spring框架中用于Web应用快速开发的一个模块. SpringMVC基于Spring框架.Servlet和JSP. ------------------------------ ...

  8. Linux地址ping不通情况怎么办?

    查看原文:http://www.ibloger.net/article/325.html Linux地址ping不通情况怎么办? 问题:今天写了一个微信支付的项目.有一个class中使用了httpPo ...

  9. SpringMVC之请求参数的获取方式

    转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ...

  10. node inspector的安装以及使用【已经淘汰了】

    https://github.com/node-inspector/node-inspector 前提 1.npm install -g node-pre-gyp https://github.com ...