.net你怎么判断字符串是否全是数字

来源:互联网 发布:三阶矩阵的行列式 编辑:程序博客网 时间:2024/04/30 20:15

今天在写代码时突然想起测试经常用Microsoft.VisualBasic.Information.IsNumeric判断 url参数是否为数字时的这个方法的效率

因为数字是字符串是直接使用的,所以不需要转型,也就没有用tryparse

结果一测试吓一跳,这个方法的效率是如此的低,再测试了下tryparse还不错,正则的也比较差,

没什么技术含量,看结果吧:

 

先拓展下字符串:


 

 

 

测试的代码:

 

 

 

下面是我本机的测试结果



isDigit      1234:0,True
isNumberic  1234:173,True
try parse    1234:21,True
try catch    1234:23,True
regex        1234:138,True

isDigit      1234a:0,False
isNumberic  1234a:204,False
try parse    1234a:20,False
try catch    1234a:5309,False
regex        1234a:151,False

isDigit      a1234:0,False
isNumberic  a1234:191,False
try parse    a1234:16,False
try catch    a1234:5229,False
regex        a1234:109,False

isDigit      :0,False
isNumberic  :0,False
try parse    :0,False
try catch    :1,False
regex        :0,False

isDigit      :0,False
isNumberic  :1,False
try parse    :0,False
try catch    :1,False
regex        :0,False

结果:循环判断是否是数字字符效率是最高的

而vbscript的方法效率比较低了

顺便测试了下vbscript里的left和right方法效率也一样的低,还不及substring的十分之一

所以vbscript里虽然有几个方法从名字看来比较好用,实际却比较杯具。