C#动态新建数组初始化

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

输出结果中,显示aaaaaaaaaaaaaaaaaaaa

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

8个回答

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

 都被初始化为\0,不是a,你是不是看错代码或者输出了

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

qq_37835161
千翎丿 不行啊兄弟,还是老样子
2 年多之前 回复

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

将所分配的内存初始化,

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

可以使用Arraylist 或List

看着没错,不知道为啥输出的不对,是之前也定义了这个,然后输出错了?可能哪个地方之前赋了值,然后代码写错了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问