Vb.net Len返回的字符数错误

Vb.net Len返回的字符数错误,vb.net,Vb.net,我是VB新手,有一个简单的程序。我只希望程序在消息框中显示长变量中的字符数。我正在使用Len()函数。代码如下 Try Dim num As Long = 1230456985623145 Dim numLength As Long numLength = Len(num) MessageBox.Show(numLength.ToString()) Catch ex As Exception

我是VB新手,有一个简单的程序。我只希望程序在消息框中显示长变量中的字符数。我正在使用Len()函数。代码如下

        Try

        Dim num As Long = 1230456985623145
        Dim numLength As Long

        numLength = Len(num)
        MessageBox.Show(numLength.ToString())

    Catch ex As Exception

    End Try

简单。但是,当我运行该函数时,它返回的值是8,而不是实际值。谁能告诉我我做错了什么。我是否需要添加其他内容以获得正确的值?应该是这样的:

Dim num As Long = 1230456985623145
Dim numLength As Long

numLength = Len(num.ToString())
MessageBox.Show(numLength.ToString())
如果忘记使用ToString(),Len函数将返回存储变量所需的字节数,即8,因为长变量需要8个字节来存储

MSDN中的定义:

返回一个整数,该整数包含 字符串或存储变量所需的标称字节数

在原始代码中(编辑前):

在Len函数中使用Name作为参数。由于代码是WinForm,因此名称是窗体的属性。使用以下命令检查名称的值:

MessageBox.Show(Name)
字符串长度


使用字符串的长度属性更可取。正如Adrian Wragg所说,在.Net支持的语言(C#、VB和F#)之间转换代码更容易。

您在代码中使用
num
来描述问题,但是您测量的变量是
name
name
的值是多少?您想要
Len(name)
还是
Len(num.ToString)
?考虑到您提到自己是VB新手,我还建议您避免使用
Microsoft.VisualBasic
命名空间中的“Len”等函数;这将使将来向C#等语言的任何过渡变得更加容易。