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

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

Susan Sarandon
Susan Sarandon原创
2025-01-22 14:51:11799浏览

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

在 C# 中从字符串创建流

本指南演示了如何在 C# 中从字符串高效创建流对象。 当单元测试需要流作为输入的函数时,这种技术特别有价值,模仿从文本文件中读取的行为。

解决方案:

以下 C# 代码片段提供了将字符串转换为流的函数:

<code class="language-csharp">public static Stream StringToStream(string inputString)
{
    MemoryStream stream = new MemoryStream();
    StreamWriter writer = new StreamWriter(stream);
    writer.Write(inputString);
    writer.Flush();
    stream.Position = 0;
    return stream;
}</code>

使用方法:

这个StringToStream函数可以像这样集成到您的代码中:

<code class="language-csharp">using (Stream myStream = StringToStream("a,b \n c,d"))
{
    // Process the stream here...
}</code>

关于 StreamWriter 处置的重要说明:

StreamWriter 未在函数内显式配置。 这是故意的。 StreamWriter 充当包装器;处理它会过早关闭底层的 MemoryStream,我们需要返回它。

.NET 4.5 及更高版本:

虽然 .NET 4.5 及更高版本提供 StreamWriter 重载,使底层流在处理后保持打开状态,但提供的代码仍然与所有 .NET 框架兼容。 这确保了更广泛的适用性。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn