- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数组和集合 ;5.1 一维数组;5.1.2 一维数组的动态初始化
动态初始化需要借助new运算符,为数组元素分配内存空间,并为数组元素赋初值,数值类型初始化为0,布尔类型初始化为false,字符串类型初始化为null。
动态初始化数组的格式如下:
数组类型[] 数组名=new 数据类型[n]{元素值0,元素值1,?,元素值n-1};
其中,“数组类型”是数组中数据元素的数据类型,n为“数组长度”,可以是整型常量或变量,后面一层大括号里为初始值部分。
1. 不给定初始值的情况
如果不给出初始值部分,各元素取默认值。例如:
int[] a = new int[10];
该数组在内存中各数组元素均取默认值0。 ;2. 给定初始值的情况
如果给出初始值部分,各元素取相应的初值,而且给出的初值个数与“数组长度”相等。此时可以省略“数组长度”,因为后面的大括号中已列出了数组中的全部元素。例如:
int[] a = new int[10]{1,2,3,4,5,6,7,8,9,10};
或
int[] a = new int[]{1,2,3,4,5,6,7,8,9,10};
在这种情况下,不允许“数组长度”为变量,例如:
int n = 5; //定义变量n
int[] myarr = new int[n] {1,2,3,4,5}; //错误
如果给出“数组长度”,则初始值的个数应与“数组长度”相等,否则出错。例如:
int[] mya = new int[2] {1,2}; //正确
int[] mya = new int[2] {1,2,3}; //错误
int[] mya = new int[2] {1}; //错误;5.1.3 一维数组的静态初始化
静态初始化数组时,必须与数组定义结合在一起,否则会出错。静态初始化数组的格式如下:
数据类型[] 数组名={元素值0,元素值1,?,元素值n-1};
用这种方法对数组进行初始化时,无需说明数组元素的个数,只需按顺序列出数组中的全部元素即可,系统会自动计算并分配数组所需的内存空间。
例如,以下是对整型数组myarr的静态初始化:
int[] myarr={1,2,3,4,5};
在这种情况下,不能将数组定义和静态初始化分开,例如,以下是错误的。
int[] myarr;
myarr={1,2,3,4,5}; //错误的数组的静态初始化;5.1.4 访问一维数组中的元素
访问一维数组中的某个元素:名称[下标或索引]。
所有元素下标从0开始,到数组长度减1为止。例如,以下语句输出数组myarr的所有元素值:
for (i=0;i5;i++)
Console.Write({0} ,a[i]);
Console.WriteLine();
C#还提供foreach语句。该语句提供一种简单、明了的方法来循环访问数组的元素。例如,以下代码定义一个名称为mya的数组,并用foreach语句循环访问该数组。
int[] mya = {1,2,3,4,5,6};
foreach (int i in mya)
System.Console.Write({0} ,i);
Console.WriteLine();
输出为:1 2 3 4 5 6。;5.1.5 一组数组的越界
若有如下语句定义并初始化数组ca:
int[] ca = new int[10]{1,2,3,4,5,6,7,8,7,9,10};
数组ca的合法下标为0~9,如果程序中使用ca[10]或ca[50],则超过了数组规定的下标,因此越界了。C#系统会提示以下出错信息。
未处理的异常: Syatem.IndexOutOfRangeException:索引超出了数组界限。;【例5.1】设计一个控制台应用程序,采用二分查找方法在给定的有序数组a中查找用户输入的值,并提示相应的查找结果。;5.2 二维数组;5.2.2 二维数组的动态初始化
动态初始化二维数组的格式如下:
数据类型[,] 数组名=new 数据类型[m][n]{
{元素值0,0,元素值0,1,?,元素值0,n-1},
{元素值1,0,元素值1,1,?,元素值1,n
您可能关注的文档
最近下载
- 静脉血栓栓塞症机械预防共识.pptx
- 2025至2030年中国高纯铝行业市场研究分析及发展趋势预测报告.docx
- 五年级上册口算.pdf VIP
- 食堂蔬菜豆制类原材料配送服务 投标方案(技术方案)【附图】.doc
- 跨境电商基础与实务 项目六 跨境电商营销推广.ppt VIP
- 2024年8月31日湖南省市直遴选笔试真题及答案解析(B卷).doc VIP
- [人教版五年级上册数学口算题.doc VIP
- 2025四川广安前锋区选聘区属国有企业领导人员笔试参考题库附带答案详解.docx
- 跨境电商实务 项目二 跨境电商选品策略.ppt VIP
- PANTONE Solid Coated潘通国际通用标准色卡高清.pdf
文档评论(0)