下面是实现字符串反转的四种方法:
[C#]几种字符串反转方法效率比较            static string Reverse1(string original)
            }

 Revease1()中对char[]进行了两次赋值(ToCharArray()和Array.Revease),所以我有想到了Revease2和Revease3()两种方法,下面是对这四种方法进行简单性能测试的代码:

[C#]几种字符串反转方法效率比较   static void Main(string[] args)
            }

测试结果是Revease1()代码最简洁,运行速度也最快,Revease21()和Revease22()其次,Revease3()最慢。可见.net framework中实现的ToCharArray()和Array.Revease()效率还是蛮高的^_^

但还有个奇怪的问题,就是Debug版本中的Revease1()和Revease21()运行起来要比Release版本中的要快,而Revease22()和Revease3()就比较正常。按说Release时做了更多的优化工作,运行起来更快才对,迷惑ing...,下面是测试结果:

Debug:

1 :  00:00:03.4375000
21:  00:00:06.1250000
22:  00:00:09.9687500
3 :  00:01:05.5468750

 

Release:

1 :  00:00:05.7812500
21:  00:00:07.4218750
22:  00:00:08.2500000
3 :  00:00:50.3593750

 

 

附1:Array.Revease()方法的源码(由Reflector.exe反汇编得到):

[C#]几种字符串反转方法效率比较[ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
[C#]几种字符串反转方法效率比较
public static void Reverse(Array array)
}

 

 

附2:StringBuilder.Append()方法的源码(由Reflector.exe反汇编得到):

[C#]几种字符串反转方法效率比较public StringBuilder Append(string value)


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1357692

相关文章:

  • 2021-06-04
  • 2021-08-22
  • 2021-11-05
  • 2022-12-23
  • 2022-12-23
  • 2021-09-19
猜你喜欢
  • 2021-08-21
  • 2022-01-17
  • 2021-07-15
  • 2021-09-15
相关资源
相似解决方案