C#使用大字节数组编写程序

时间:2014-10-31 02:33:15

标签: c# performance byte

我正在尝试使用C#创建一个简单的十六进制编辑器。 为此,我将文件写入一个字节数组,工作正常。但是一旦我以字符串的形式将字节输出到文本框,程序的整体性能就变得非常糟糕。例如,190kb文件大约需要40秒,直到它显示在文本框中。虽然程序没有响应。

功能:

void open()
    {
        fullstring = "";

        OpenFileDialog op = new OpenFileDialog();
        op.ShowDialog();
        file = op.FileName;

        byte[] fileB = File.ReadAllBytes(file);

        long b = fileB.Length;

        for (int i = 0; i < fileB.Length; i++)
        {
            fullstring = fullstring + fileB[i].ToString("X") + "  ";
        }

        textBox9.Text = fullstring;
    }

有没有办法提高此功能的性能?

1 个答案:

答案 0 :(得分:0)

看一下这篇文章How do you convert Byte Array to Hexadecimal String, and vice versa? 您可以使用那里的代码将字节数组输出到文本文件。您的代码中存在的一个问题是您使用的是String连接而不是StringBuilder。最好使用StringBuilder,否则性能会下降。