gpt4 book ai didi

.net - IsNumeric 在评估对象时抛出 FormatException

转载 作者:行者123 更新时间:2023-12-03 23:46:07 26 4
gpt4 key购买 nike

我正在使用 visual studio 2008 开发适用于 windows CE 6.0 的紧凑型框架软件。

我有这个“奇怪的?” isNumeric 方法有问题。还有其他更好的方法来完成这项工作吗?为什么让我异常(exception)? (实际上有两个……都是 FormatException 类型)

谢谢

dim tmpStr as object = "Hello"
if isNumeric(tmpStr) then // EXCEPTIONs on this line
// It's a number
else
// it's a string
end if

最佳答案

即使 FormatException 没有在 IsNumeric 的文档中列出,它确实是可以抛出的异常之一。会抛出的情况是

  • 传递了一个字符串值
  • 该字符串没有0x&H 前缀

虽然我找不到这种行为的任何理由。我什至能够辨别它的唯一方法是通过挖掘反射器中的实现。

最好的解决方法似乎是定义一个包装器方法

Module Utils
Public Function IsNumericSafe(ByVal o As Object) As Boolean
Try
Return IsNumeric(o)
Catch e As FormatException
Return False
End Try
End Function
End Module

关于.net - IsNumeric 在评估对象时抛出 FormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10031626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com