2 qq 37835161 qq_37835161 于 2018.03.01 14:54 提问

C#动态新建数组初始化

新建数组并输出:
char[] charArray1 = new char[20];
Console.WriteLine(charArray1);

输出结果中,显示aaaaaaaaaaaaaaaaaaaa

提问:为什么数组没有被初始化为空?怎样新建空数组或者初始化为空数组?

7个回答

weixin_40167339
weixin_40167339   2018.03.02 10:04
已采纳

new是分配内存堆的空间 不会对内存进行初始化 输出a可能所申请内存之前存入的就是a。可以在申请内存之后进行系统调用

qq_34654653
qq_34654653   2018.03.01 15:02

Array.Clear(charArray1, 0, charArray1.Length);

qq_37835161
qq_37835161 不行啊兄弟,还是老样子
4 个月之前 回复
showbo
showbo   Ds   Rxr 2018.03.01 15:42
 都被初始化为\0,不是a,你是不是看错代码或者输出了
nkjiamin
nkjiamin   2018.03.01 15:41

这两句代码没问题,外部别的定义影响内存了吧?

weixin_40167339
weixin_40167339   2018.03.02 10:04

将所分配的内存初始化,

Tianqin20140902
Tianqin20140902   2018.03.03 09:50

char[] charArray1 = new char[20];
charArray1.Initialize();
试试

xingyuewubian258
xingyuewubian258   2018.03.03 12:03

可以使用Arraylist 或List

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!