use*_*322 2 .net c# string-concatenation
我正在制作一个将图像转换为文本RRR GGG BBB 字符串数组的应用程序.
对于小图像,它的工作速度非常快,但是当输入图像的像素数非常高时,应用程序会逐渐减慢.
应用程序x,y循环遍历输入图像的所有像素,扫描每个像素并将其RGB格式的值添加到最终字符串,在扫描整个图像后将保存为文本.
在内置分析器的帮助下,我发现System.String.Concat(string,string)最终字符串越大,所需的时间就越多.
然后我尝试制作一个临时字符串,它将保存1行计算结果,然后在进入下一行之前,将其添加到最终字符串中.现在它的工作速度提高了十倍,但仍然接近最终,性能下降.
但最终我的所有测试图像都比实际图像要小.如何将连接速度提高到更大的图像?
var sb = new StringBuilder();
sb.Append(r);
sb.Append(g);
sb.Append(b);
string result = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
此类专为快速字符串连接而设计.我不知道更快(一般情况下)它.