阅读哪个更快?ByVal 还是 ByRef?让我想知道那里的评论是否确实适用Strings
于性能。由于字符串在传递之前被复制,传递字符串不是更有效(如果被调用者不需要字符串课程的副本)ByRef
吗?
谢谢,
CFP。
编辑:考虑一下这段代码,这让我觉得有某种副本正在进行:
Sub Main()
Dim ByValStr As String = "Hello World (ByVal)!"
Dim ByRefStr As String = "Hello World (ByRef)!"
fooval(ByValStr)
fooref(ByRefStr)
Console.WriteLine("ByVal: " & ByValStr)
Console.WriteLine("ByRef: " & ByRefStr)
Console.ReadLine()
End Sub
Sub fooval(ByVal Str As String)
Str = "foobar"
End Sub
Sub fooref(ByRef Str As String)
Str = "foobar"
End Sub
它输出:
ByVal: Hello World (ByVal)!
ByRef: foobar