比较结论:空格越多,方法三越慢。方法1始终最慢。方法二较快。
#region 去空格
var qq = "H ow,are,you,";
string q1 = "", q2 = "", q3 = "";
int cnt = 1, times = 1000000;
var stopWatch = new Stopwatch();
stopWatch.Start();
doagin:
Console.WriteLine(string.Format("第{0}次",cnt));
stopWatch.Restart();
for (int i = 0; i < times; i++)
{
//方法一
q1 = new string(qq.ToCharArray()
.Where(c => !Char.IsWhiteSpace(c))
.ToArray());
}
stopWatch.Stop();
Console.WriteLine(string.Format("//方法一:{0}、{1}", q1, stopWatch.ElapsedMilliseconds));
stopWatch.Restart();
for (int i = 0; i < times; i++)
{
//方法二
q2 = string.Join("", qq.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries));
}
stopWatch.Stop();
Console.WriteLine(string.Format("//方法二:{0}、{1}",q2, stopWatch.ElapsedMilliseconds));
stopWatch.Restart();
for (int i = 0; i < times; i++)
{
//方法三
q3 = qq.Replace(" ", string.Empty);
}
stopWatch.Stop();
Console.WriteLine(string.Format("//方法三:{0}、{1}", q3, stopWatch.ElapsedMilliseconds));
if (cnt<6)
{
cnt++;
goto doagin;
}
#endregion
//计算10000次比较
第1次
//方法一:How,are,you,、17
//方法二:How,are,you,、7
//方法三:How,are,you,、7
第2次
//方法一:How,are,you,、10
//方法二:How,are,you,、8
//方法三:How,are,you,、7
第3次
//方法一:How,are,you,、13
//方法二:How,are,you,、7
//方法三:How,are,you,、8
第4次
//方法一:How,are,you,、16
//方法二:How,are,you,、7
//方法三:How,are,you,、8
第5次
//方法一:How,are,you,、13
//方法二:How,are,you,、7
//方法三:How,are,you,、8
第6次
//方法一:How,are,you,、12
//方法二:How,are,you,、8
//方法三:How,are,you,、6
//计算100000次比较
第1次
//方法一:How,are,you,、111
//方法二:How,are,you,、69
//方法三:How,are,you,、83
第2次
//方法一:How,are,you,、109
//方法二:How,are,you,、56
//方法三:How,are,you,、78
第3次
//方法一:How,are,you,、156
//方法二:How,are,you,、99
//方法三:How,are,you,、87
第4次
//方法一:How,are,you,、137
//方法二:How,are,you,、72
//方法三:How,are,you,、85
第5次
//方法一:How,are,you,、152
//方法二:How,are,you,、57
//方法三:How,are,you,、91
第6次
//方法一:How,are,you,、153
//方法二:How,are,you,、90
//方法三:How,are,you,、91
//计算1000000次比较
第1次
//方法一:How,are,you,、1285
//方法二:How,are,you,、756
//方法三:How,are,you,、642
第2次
//方法一:How,are,you,、747
//方法二:How,are,you,、451
//方法三:How,are,you,、609
第3次
//方法一:How,are,you,、770
//方法二:How,are,you,、448
//方法三:How,are,you,、589
第4次
//方法一:How,are,you,、790
//方法二:How,are,you,、444
//方法三:How,are,you,、595
第5次
//方法一:How,are,you,、748
//方法二:How,are,you,、458
//方法三:How,are,you,、561
第6次
//方法一:How,are,you,、803
//方法二:How,are,you,、429
//方法三:How,are,you,、578