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