大字节数组的 C# 程序性能 [重复]
Posted
技术标签:
【中文标题】大字节数组的 C# 程序性能 [重复]【英文标题】:C# Program performance with big bytearrays [duplicate] 【发布时间】: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;
有没有办法提高这个函数的性能?
【问题讨论】:
确实重复了 2 个问题,我认为 how to convert byte array to hex 更有帮助,但也请查看 ***.com/questions/10341188/…,尤其是指向 Eric Lippert 的 blog 的链接 【参考方案1】:看看这个帖子How do you convert Byte Array to Hexadecimal String, and vice versa? 您可以使用那里的代码将字节数组输出到文本文件。您在代码中遇到的一个问题是您使用的是字符串连接而不是 StringBuilder。最好使用 StringBuilder 否则性能会下降。
【讨论】:
以上是关于大字节数组的 C# 程序性能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章