谁能在这里看到我逻辑上的任何明显漏洞。基本上,我需要先将字节数组分成10,000个块,然后再发送出去:
byte [] bytes = GetLargePieceOfData();
Stream stream = CreateAStream();
if (bytes.Length > 10000)
{
int pos = 0;
int chunkSize = 10000;
while (pos < bytes.Length)
{
if (pos + chunkSize > bytes.Length)
chunkSize = bytes.Length - pos;
stream.Write(bytes, pos, chunkSize);
pos += chunkSize;
}
}
else
{
stream.Write(bytes, 0, bytes.Length);
}
最佳答案
一切似乎都井井有条,但是最外面的if语句确实是多余的,如以下代码所示
int pos = 0;
int chunkSize = 10000;
while (pos < bytes.Length)
{
if (pos + chunkSize > bytes.Length)
chunkSize = bytes.Length - pos;
stream.Write(bytes, pos, chunkSize);
pos += chunkSize;
}
也将处理数组小于块大小的情况。
关于c# - Chunkinfying流。代码正确吗?需要第二只眼睛,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1761328/