c# - 如何用 0xFF 字节填充 MemoryStream?

标签 c# padding memorystream

我有一个 MemoryStream,它是在运行时从文件创建的。

然后编辑 MemoryStream 并删除一些字节。

现在我必须保持一个常量文件大小,所以我必须用 0xFF 字节填充 MemoryStream..

执行此操作的最快方法是什么?

我知道,我总是可以遍历 MemoryStream 大小并添加 0xFF,但我需要知道一种更快更有效的方法!

最佳答案

如果你有很多字节要写入流,写一个数组可能比单独写每个字节更有效:

static void Fill(this Stream stream, byte value, int count)
{
    var buffer = new byte[64];
    for (int i = 0; i < buffer.Length; i++)
    {
        buffer[i] = value;
    }
    while (count > buffer.Length)
    {
        stream.Write(buffer, 0, buffer.Length);
        count -= buffer.Length;
    }
    stream.Write(buffer, 0, count);
}

关于c# - 如何用 0xFF 字节填充 MemoryStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570142/

相关文章:

android - 可以使android填充不可点击吗?

xml - 使用 MemoryStream 创建 Open XML 电子表格时出现 Excel 和 "unreadable content"

c# - LINQ C# 集合中的唯一元素

c# - PushSharp 错误消息发送 IOS 推送通知

java - 使用 des ede、javax.crypto.badpaddingexception 的解密错误

java - 如何在 JPanel 中设置布局的对齐方式

c# - StreamReader 将 MemoryStream 读取到字符串似乎正在截断文件结尾

vb.net - 如何从 MemoryStream 创建磁盘 (VB.net)

c# - LINQ to XML 创建复杂的 XML 文件

c# - asp.net 自定义控件属性依赖于另一个属性