为什么有些变量名在VB.net末尾有'%'或'$'符号

Div*_*ari 1 .net vb.net variables naming-conventions

最近我一直在研究一个vb.net项目,它是用vs 2005写的.

我遇到了以' '和' ' 结尾的变量.%$

我的问题是它的需要和意义是什么,我尝试使用谷歌搜索,但没有找到查询的痕迹?

这里有一些来自项目的代码:

Public Sub SaveSettings(ByVal Cntl As Control, ByVal File$)
        FileNo = FOpen(File, OpenMode.Output)
        If FileNo = -1 Then Throw New System.Exception("File - " + File + " cannot be opened for writing!")
        BuildHashTable(Cntl)
        SaveControls(Cntl)
        FClose(FileNo)
    End Sub
Run Code Online (Sandbox Code Playgroud)

Dim i%, s$, t$
Run Code Online (Sandbox Code Playgroud)

变量是File $,i%,s $和t $.

我对VB6很陌生,所以我不知道它是否与之有任何关系.

Ste*_*eve 8

是的,在VB6(以及之前)中使用了后缀字符来声明变量的类型.在VB.NET中仍然支持它们(据我所知),以便于从VB6过渡到VB.NET

在MSDN上有这些字符的列表

当存在类型字符时,它应该遵循名称部分.这是(当时)一种聪明的方式来提醒程序员一个变量的数据类型,但现在(使用Intellisense和智能编译器)我发现它们分散了注意力而没有用处.我立即删除它们(我也在VB6中删除了它们,所以我在这里有点偏见)