c# - 等效于字节数组的 StringBuilder

标签 c# bytearray stringbuilder

这是一个简单的问题,也是我认为会得到解答的问题。我确实试图在这里找到答案,但没有找到任何答案 - 如果我遗漏了什么,我深表歉意。

无论如何,对于字节数组,是否有 StringBuilder 的等价物?

我不关心 Append() 的所有不同重载 - 但我想看看 Append(byte)Append(byte []).

周围有什么东西吗?还是您自己安排时间?

最佳答案

MemoryStream为你工作?该接口(interface)可能不太方便,但它提供了一种简单的方法来附加字节,完成后,您可以通过调用 ToArray() 将内容作为 byte[] 获取。 .

一个更像 StringBuilder 的接口(interface)可能会通过扩展方法来实现。

更新
扩展方法可能如下所示:

public static class MemoryStreamExtensions
{
    public static void Append(this MemoryStream stream, byte value)
    {
        stream.Append(new[] { value });
    }

    public static void Append(this MemoryStream stream, byte[] values)
    {
        stream.Write(values, 0, values.Length);
    }
}

用法:

MemoryStream stream = new MemoryStream();
stream.Append(67);
stream.Append(new byte[] { 68, 69 });
byte[] data = stream.ToArray();  // gets an array with bytes 67, 68 and 69

关于c# - 等效于字节数组的 StringBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4015602/

相关文章:

powershell - 奇怪的字符串生成器

java - Java 基准测试(比较两个类)

c# - 表单加载后取消异步操作?

c# - 如何比较两个字节数组

c# socket接收字节数组长度

c# - 连接 byte[] 的 C# 列表

java - 编写代码来清除字符串中不需要的字符

c# - 从 C# Web 应用程序调用 SSIS 并显示进度

c# - 获取有关 WCF 中需要很长时间的方法的进度信息的有效模式?

c# - 没有执行 msTest 的测试