byte[] buffer = new byte[500000];
用 0 值初始化缓冲区。由于它是一个缓冲区,我不需要任何初始化,在 C# 中是否可以像在 C 中一样?
最佳答案
我认为这是不可能的...甚至FormatterServices.GetUninitializedObject不运行构造函数:
Because the new instance of the object is initialized to zero and no constructors are run, the object might not represent a state that is regarded as valid by that object.
请注意,如果您想要非托管(从非 GC 管理的操作系统获取的内存), 可以在不将其归零的情况下进行分配,但它不会是 byte[]
.
关于c# - 如何创建一个没有初始化为 null 或 0 的对象的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30319291/