跳转到内容

Visual Basic .NET/Visual Basic 6 到 .NET 函数等效

来自维基教科书,开放的书籍,开放的世界

这里提供的信息旨在帮助正在从 Visual Basic 6 转向 Visual Basic .NET 的开发者,并希望了解如何在不使用 Microsoft.VisualBasic 命名空间(包含所有遗留 Visual Basic 6 函数)的情况下完成任务。

不要误解;通过使用 Microsoft.VisualBasic 命名空间中的函数,你并没有使用“旧代码”,因为所有这些函数都映射到 .NET Framework 中的新的等效函数。避免使用这些函数的主要好处是,你可以熟悉 .NET Framework 中包含的命名空间。

如果你想删除 Microsoft.VisualBasic 命名空间,你可以做以下两件事之一

  • 在每次开始新项目时手动删除导入。
  • 创建一个不包含 Microsoft.VisualBasic 命名空间的项目模板。

要创建模板,请查看以下链接

  • 这里列出的一些函数可能不是完全等效的,但它们是可用的最接近的函数。
  • 鼓励你使用对象浏览器 (F2) 自己探索 .NET 命名空间。
  • 点击任何 .NET 等效函数以访问 Microsoft Developer Network,并了解更多关于该函数的信息。
Visual Basic 6 .NET 等效
App.Path Application.StartupPath
CallByName Type Object.InvokeMember
Circle Graphics Object.DrawEllipse
Collection Collections.Hashtable, Collections.Dictionary
Command Environment.GetCommandLineArgs
DoEvents Application.DoEvents
Environ Environment.GetEnvironmentVariable
Err 已弃用 - 使用 Exception 对象和 Try ... Catch ... End Try 语句
Error Exception Object.Message
GetSetting 已弃用 - 查看 Configuration.ConfigurationSettings
IIf 已弃用
InputBox 已弃用 - 自行制作表单
Len Runtime.InteropServices.Marshal.SizeOf
MsgBox MessageBox.Show
RGB Color Object.FromArgb
SavePicture Image Object.Save
SaveSetting 已弃用 - 查看 Configuration.ConfigurationSettings
SendKeys SendKeys.Send
Shell Process.Start
Switch 已弃用
TypeName Any Object.GetType.ToString
Unload 已弃用
VarType Any Object.GetType

字符串

[编辑 | 编辑源代码]
Visual Basic 6 .NET 等效
Asc Convert.ToInt32(Char)
Chr Convert.ToChar
Format Any Object.ToString(Format String)
FormatCurrency Any Numeric Object.ToString("c")
FormatDateTime Date Object.ToString(Format String), Date Object.ToLongDateString
FormatNumber Any Numeric Object.ToString(Format String)
FormatPercent Any Numeric Object.ToString("p")
Hex Integer Object.ToString("x"), Convert.ToString(Integer, 16)
InStr String Object.IndexOf
InStrRev String Object.LastIndexOf
Join String.Join
LCase String Object.ToLower
Left String Object.Substring
Len String Object.Length
LTrim String Object.TrimStart
Mid String Object.Substring
Oct Convert.ToString(Integer, 8)
Replace String Object.Replace
Right String Object.Substring
RTrim String Object.TrimEnd
Space String Object.PadLeft, String Object.PadRight
Split String Object.Split
String String Object = New String(Char, Count)
StrReverse Dim c() As Char = Array.Reverse(String Object.ToCharArray)
Trim String Object.Trim
UCase String Object.ToUpper

文件和目录

[编辑 | 编辑源代码]
Visual Basic 6 .NET 等效
ChDir IO.Directory.SetCurrentDirectory
CurDir IO.Directory.GetCurrentDirectory
Dir IO.Directory.GetFiles, IO.Directory.GetDirectories, IO.Directory.Exists, IO.File.Exists
EOF IO.StreamReader.Peek = -1
FileAttr 已弃用 - 使用 StreamReaderStreamWriter
FileCopy IO.File.Copy
FileDateTime IO.File.GetLastAccessTime, IO.File.GetCreationTime
FileLen IO.FileStream Object.Length
GetAttr IO.File.GetAttributes
Loc IO.Stream Object.Position
LOF IO.Stream Object.Length
MkDir IO.Directory.CreateDirectory
RmDir IO.Directory.Delete
SetAttr IO.File.SetAttributes
Visual Basic 6 .NET 等效
Filter Array.BinarySearch
UBound Any Type of Array.GetUpperBound(0)

日期和时间

[编辑 | 编辑源代码]
Visual Basic 6 .NET 等效
DateAdd Date Object.Add
DateDiff Date Object.Subtract
Now DateTime.Now
Visual Basic 6 .NET 等效
Abs Math.Abs
Atn Math.Atan
Cos Math.Cos
Exp Math.Exp
Fix Math.Truncate, Math.Floor (对于负数), Math.Ceiling (对于正数)
Int Math.Floor
Log Math.Log
Randomize 已弃用 - Random 对象在声明时会自动随机化
Rnd System.Random Object.Next
Round Math.Round
Sgn Math.Sign
Sin Math.Sin
Sqr Math.Sqrt
Tan Math.Tan
[编辑 | 编辑源代码]
华夏公益教科书