用Regex应该是比循环快的。to Aallonlin(风之力),"11111ab"是不会满足 ^\d{1,8}$ 这个Pattern的。

解决方案 »

  1.   

    同意sumtec(Psydian) 
    正则表达式是一个动态的式子,需要经过编译后执行,编译后执行的代码免不了需要循环判断。
    所以从效率上看正则表达式很没有效率。特别是这种简单的判断。
    但如果从整体上来看,C#的效率本身是比较慢的,在局部的效率提高和降低对整体的性能没有多少改变,除非这个判断占据了整个程序的很大部分运行时间。
    同时作为学习正则表达式的入门也不失为了个很好的例子。
    外加上正则表达式的强大作用很难体现在这种简单式子的验证上。