首页 > 后端开发 > C++ > 如何在 C# 中从字符串创建 MemoryStream?

如何在 C# 中从字符串创建 MemoryStream?

Barbara Streisand
发布: 2025-01-22 14:56:11
原创
293 人浏览过

How Can I Create a MemoryStream from a String in C#?

在 C# 中从字符串创建 MemoryStream

单元测试通常需要模拟来自文本文件的输入流。 此示例演示了一种简单有效的方法 GenerateStreamFromString,用于从字符串创建 MemoryStream

GenerateStreamFromString实施

以下函数有效地将字符串转换为 MemoryStream:

<code class="language-csharp">public static Stream GenerateStreamFromString(string s)
{
    var stream = new MemoryStream();
    var writer = new StreamWriter(stream);
    writer.Write(s);
    writer.Flush();
    stream.Position = 0;
    return stream;
}</code>
登录后复制

使用示例:

<code class="language-csharp">using (var stream = GenerateStreamFromString("a,b \n c,d"))
{
    // Process the stream here
}</code>
登录后复制

处理 StreamWriter 处置

using 语句会自动处理 StreamWriter,但这也会关闭 MemoryStream。 由于我们需要返回 MemoryStream,因此我们避免显式处置 StreamWriterStreamWriterDispose 方法仅关闭底层流,这是此场景中所需的行为。

此方法适用于所有 .NET 版本,与依赖于 .NET 4.5 及更高版本中引入的 StreamWriter 重载的替代方案不同。 这些重载允许在处理后保持底层流打开,但我们的方法保持更广泛的兼容性。

有关管理流处置的更多详细信息,请参阅讨论在不关闭基础流的情况下关闭 StreamWriter 的技术的资源。

以上是如何在 C# 中从字符串创建 MemoryStream?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板