如何确定内存流是否正确填充

问题描述

下面的代码尝试用一些简单的文本填充“ 0”字节数组,直到缓冲区被填充。
byte[] message = new byte[1024];

using (MemoryStream memoryStream = new MemoryStream(message,true))
    {
        using (StreamWriter streamWriter = new StreamWriter(memoryStream,Encoding.ASCII))
        {
            while (???)
                streamWriter.WriteLine(\"Hello World!\");
        }
    }
while(???)
语句应该是什么?     

解决方法

        
byte[] message = new byte[1024];
using (MemoryStream memoryStream = new MemoryStream(message,true))
{
    using (StreamWriter streamWriter = new StreamWriter(memoryStream,Encoding.ASCII))
    {
        var lineToAdd = \"Hello World!\";
        while (memoryStream.Length - memoryStream.Position > lineToAdd.Length)
        {
            streamWriter.WriteLine(lineToAdd);
            streamWriter.Flush();
        }
    }
}
要么
using (MemoryStream memoryStream = new MemoryStream(message,true))
using (StreamWriter streamWriter = new StreamWriter(memoryStream,Encoding.ASCII))
{
    streamWriter.AutoFlush = true;
    var lineToAdd = \"Hello World!\";
    while (memoryStream.Length - memoryStream.Position > lineToAdd.Length)
        streamWriter.WriteLine(lineToAdd);
}
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...