首先看测试代码:

 1   public class StringSpeedTest
 2     {
 3         private readonly static string _testStr = "0123456789";
 4 
 5         public string StringAdd(int count)
 6         {
 7             string str = string.Empty;
 8             for (int i = 0; i < count; i++)
 9             {
10                 str += _testStr;
11             }
12             return str;
13         }
14 
15         public string UseStringBuilder(int count)
16         {
17             StringBuilder sb = new StringBuilder();
18 
19             for (int i = 0; i < count; i++)
20             {
21                 sb.Append(_testStr);
22             }
23 
24             return sb.ToString();
25         }
26         public string UseStringBuilderWithCapacity(int count)
27         {
28             StringBuilder sb = new StringBuilder(count * _testStr.Length);
29 
30             for (int i = 0; i < count; i++)
31             {
32                 sb.Append(_testStr);
33             }
34 
35             return sb.ToString();
36         }
37         public string UseStringConcat(int count)
38         {
39             string[] list = new string[count];
40             for (int i = 0; i < count; i++)
41             {
42                 list[i] = _testStr;
43             }
44             return string.Concat(list);
45         }
46         public string UseStringConcatWithList(int count)
47         {
48             List<string> list = new List<string>(count);
49             for (int i = 0; i < count; i++)
50             {
51                 list.Add(_testStr);
52             }
53             return string.Concat(list);
54         }
55         public string UseStringConcatWithListToArray(int count)
56         {
57             List<string> list = new List<string>(count);
58             for (int i = 0; i < count; i++)
59             {
60                 list.Add(_testStr);
61             }
62             return string.Concat(list.ToArray());
63         }
64     }
View Code

相关文章: