110,567
社区成员
发帖
与我相关
我的任务
分享
byte[] ba = new byte[32768];
for (int i = 0; i < 32768; i++)
ba[i] = (byte)(i % 128);
Stopwatch sw = new Stopwatch();
sw.Start();
StringBuilder sb = new StringBuilder(32768 * 2);
for (int i = 0; i < 32768; i++)
sb.Append(ba[i].ToString("X2"));
string result = sb.ToString();
Console.WriteLine(sw.ElapsedMilliseconds);
sw.Restart();
result = string.Empty;
for (int i = 0; i < 32768; i++)
result += ba[i].ToString("X2");
Console.WriteLine(sw.ElapsedMilliseconds);
sw.Restart();
sb = new StringBuilder();
for (int i = 0; i < 32768; i++)
sb.Append(ba[i].ToString("X2"));
result = sb.ToString();
Console.WriteLine(sw.ElapsedMilliseconds);
分别耗时4 600 4 毫秒
为什么你的那么耗时间? CheckForIllegalCrossThreadCalls = false;
CheckForIllegalCrossThreadCalls = false;
[/quote]
好的,谢谢!