Tag: memorystream streamwriter

使用StreamWriter写入MemoryStream将返回空

我不确定我做错了什么,看过很多例子,但似乎无法让这个工作。 public static Stream Foo() { var memStream = new MemoryStream(); var streamWriter = new StreamWriter(memStream); for (int i = 0; i < 6; i++) streamWriter.WriteLine("TEST"); memStream.Seek(0, SeekOrigin.Begin); return memStream; } 我正在对这个方法进行一个简单的测试,试图让它通过,但无论如何,我的收集计数为0。 [Test] public void TestStreamRowCount() { var stream = Foo(); using (var reader = new StreamReader(stream)) { var collection = new List(); string input; […]

我需要做StreamWriter.flush()吗?

假设这个C#代码: using (MemoryStream stream = new MemoryStream()) { StreamWriter normalWriter = new StreamWriter(stream); BinaryWriter binaryWriter = new BinaryWriter(stream); foreach(…) { binaryWriter.Write(number); normalWriter.WriteLine(name); //<~~ easier to reader afterward. } return MemoryStream.ToArray(); } 我的问题是: 我是否需要在循环内使用flush以保持顺序? 返回MemoryStream.ToArray()合法吗? 我使用using -block作为约定,我担心它会搞砸。