【问题标题】:C# Program performance with big bytearrays [duplicate]大字节数组的 C# 程序性能 [重复]
【发布时间】:2014-12-27 07:16:03
【问题描述】:

我正在尝试使用 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;
    }

有没有办法提高这个函数的性能?

【问题讨论】:

标签: c# performance byte


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2018-09-03
    相关资源
    最近更新 更多