【小雨学编程之C#】18.7 复杂数据类型-数组( 三 )
学会了数组的使用的调皮小伙伴会产生一个疑问 , 既然数组的初始化只是告诉计算机给数组分配空间 , 但是分配空间后并没有对其赋值 , 那么这时候的数组里面存储的是什么呢?
比如int[]a=newint[10]我们随意调用数组元素 , 比如a[2]会发现系统并没有报错 , 而是显示0 , 这是怎么回事?既然目测看不出什么名堂 , 我们就开启调试模式看看这时候 , 内存中到底有什么 , 我们在输出位置打一个断点 , 然后运行:

文章图片
我们看到此时内存中的scores中存储的都是0 , 那么我们将int换成double再看看:

文章图片
这时候scores中存储的也是0 , 我们换成string再看看:

文章图片
【【小雨学编程之C#】18.7 复杂数据类型-数组】换成char再看看:

文章图片
换成bool再看看:

文章图片
于是我们得出结论 , 数组初始化后 , 系统会给对应数组每个元素依照数据类型的不同赋默认值:
数值型数组默认值是0
字符串型数组默认值是null(null在内存中表示空的意思 , 也就是没有引用任何东西的意思 , 后面的知识点中会介绍)
字符型数组默认值是空字符
布尔型数组默认值是false
最后需要强调的是 , C#数组不支持动态数组 , 也就是当数组声明初始化后 , 其中元素的个数就固定了 , 不能在程序运行过程中随意修改!
屏幕前的小伙伴你们学会了吗!
- 12月13日消息|小米13系列手机明日开售售价4599元
- 本文转自:央广网央广网兰州12月13日消息(记者邸文炯)记者从兰州大学获悉|第四届中国研究生人工智能创新大赛圆满落幕
- 南京酷科电子科技有限公司作为小米科技公司旗下的生态链企业之一|酷科65wgan充电器测试模块测试模块主要测试
- 大学生|大学生故意买金箔酒:起诉10倍赔偿
- 高大幕墙骨架结构选型成为当下大跨度幕墙系统面临的主要问题|幕墙精制钢型材,新时代下的幕墙新材料【西创系统】
- IBM|联盟IBM 日本找来2大高手攻关2nm工艺:最快2025年量产
- 短视频剪辑软件,小白也能轻松上手
- 音频去除杂音剪辑方法简单好用
- 如何将pdf转换成word格式文件?
- webm怎么转换成mp4格式?
