如果我得到一个MemoryStream,我知道已填充一个字符串,我如何得到一个字符串退出?
此示例显示如何读取和写入一个字符串到MemoryStream。
static void Main(string[] args) { using (var ms = new MemoryStream()) { var sw = new StreamWriter(ms); sw.WriteLine("Hello World"); // The string is currently stored in the // StreamWriters buffer. Flushing the stream will // force the string into the MemoryStream. sw.Flush(); // If we dispose the StreamWriter now,it will close // the BaseStream (which is our MemoryStream) which // will prevent us from reading from our MemoryStream //DON'T DO THIS - sw.Dispose(); // The StreamReader will read from the current // position of the MemoryStream which is currently // set at the end of the string we just wrote to it. // We need to set the position to 0 in order to read // from the beginning. ms.Position = 0; var sr = new StreamReader(ms); var myStr = sr.ReadToEnd(); Console.WriteLine(myStr); } Console.WriteLine("Press any key to continue."); Console.ReadKey(); }