问题描述
下面的代码尝试用一些简单的文本填充“ 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);
}