当前位置:  开发笔记 > 编程语言 > 正文

什么在.NET中使用IsNumeric()这么长时间?

如何解决《什么在.NET中使用IsNumeric()这么长时间?》经验,为你挑选了1个好方法。

今天正在与IsNumeric进行一些基准测试,并将其与以下功能进行比较:

Private Function IsNumeric(ByVal str As String) As Boolean
    If String.IsNullOrEmpty(Str) Then Return False
    Dim c As Char

    For i As Integer = 0 To Str.Length - 1
        c = Str(i)
        If Not Char.IsNumber(c) Then Return False
    Next

    Return True
End Function

我对结果非常惊讶.使用数值时,这个数字比常规IsNumeric()快8到10倍,而使用空数字或非数字值则快1000-1500倍.

什么是IsNumeric这么久?在用上面的功能替换之前,我应该考虑一些其他问题吗?我在我的网站上的大约50个不同的地方使用IsNumeric,主要用于验证表单和查询字符串.



1> Welbog..:

您检查特定于语言环境的分隔符和小数位在哪里?否定?指数表示法?

你看,你的函数只是数字字符串的一小部分.

1,000,000.00
1,5E59
-123456789

你错过了所有这些.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有