C#动态新建数组初始化

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

输出结果中,显示aaaaaaaaaaaaaaaaaaaa

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

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

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

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

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

将所分配的内存初始化,

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

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

可以使用Arraylist 或List