vb.net – Integer.TryParse – 一个更好的方法?

我发现自己经常需要使用Integer.TryParse来测试一个值是否为整数。然而,当你使用TryParse,你必须传递一个引用变量到函数,所以我发现自己总是需要创建一个空白整数传入。通常它看起来像:
Dim tempInt as Integer
If Integer.TryParse(myInt,tempInt) Then

我认为这是相当麻烦,因为我想要的是一个简单的真/假回答。有没有更好的方法来解决这个问题?为什么没有一个重载的函数,我可以只传递我想测试的值,得到一个真/假的反应?

无需声明整数。
If Integer.TryParse(intToCheck,0) Then

要么

If Integer.TryParse(intToCheck,Nothing) Then

如果你有.Net 3.5的能力,你可以创建一个扩展方法的字符串。

Public Module MyExtensions

    <System.Runtime.CompilerServices.Extension()> _
    Public Function IsInteger(ByVal value As String) As Boolean
        If String.IsNullOrEmpty(value) Then
            Return False
        Else
            Return Integer.TryParse(value,Nothing)
        End If
    End Function

End Module

然后调用like:

If value.IsInteger() Then

对不起,我知道,但你也可以添加到MyExtensions类上面的.Net 3.5和不担心,除非你需要验证。

<System.Runtime.CompilerServices.Extension()> _
Public Function ToInteger(ByVal value As String) As Integer
    If value.IsInteger() Then
        Return Integer.Parse(value)
    Else
        Return 0
    End If
End Function

然后简单使用

value.ToInteger()

如果它不是有效的整数,将返回0。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...