gpt4 book ai didi

.net - 为什么要给这个变量分配空间?

转载 作者:行者123 更新时间:2023-12-02 08:04:26 24 4
gpt4 key购买 nike

我发现了这个,我想知道为什么循环中的变量有内存分配(.... 0x20;)。看起来该变量只是用空格填充。但是当我们用大小初始化字节变量时为什么要这样做呢?

long fileByteLength = package.Properties.Length;
byte[] fileContent = new byte[fileByteLength];
for (int i = 0; i < fileByteLength; i++)
{
fileContent[i] = 0x20;
}
// Download the file aa a byteArray to the fileContent variable
package.DownloadToByteArray(fileContent, 0);

最佳答案

显而易见的答案是:因为程序员希望用空格填充它。用长度初始化它意味着你会得到很多 0 字节。为什么程序员需要空格?我不知道。整件事都是糟糕的 cargo 崇拜编程(意味着有人这样做是因为他看到其他人在这样做,而不了解它是如何工作的或它是做什么的)。

您应该使用 stream或使用return value of that method 。如果您的质量准则是“良好的编程”,则必须删除该循环并用上述解决方案之一替换。

我的偏好是流(可能是 MemoryStream ),这样您就可以摆脱所有字节计数、缓冲区移位和返回值检查。这就是流抽象的目的。

关于.net - 为什么要给这个变量分配空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47755155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com