我正在尝试使用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;
}
有没有办法提高此功能的性能?
答案 0 :(得分:0)
看一下这篇文章How do you convert Byte Array to Hexadecimal String, and vice versa? 您可以使用那里的代码将字节数组输出到文本文件。您的代码中存在的一个问题是您使用的是String连接而不是StringBuilder。最好使用StringBuilder,否则性能会下降。