这是一个简单的问题,也是我认为会得到解答的问题。我确实试图在这里找到答案,但没有找到任何答案 - 如果我遗漏了什么,我深表歉意。
无论如何,对于字节数组,是否有 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/