一直以來在 VB6 下,參數默認都是按照 ByRef 傳送的,(即按地址傳送) 而在 .Net(C#,VB.Net) 下, 參數默認是使用 ByVal (即按值傳送) 傳送的,一直沒怎么注意。 這些天在優化程序時發現 當傳送 大變量時,使用默認方式(ByVal) 效率相當低 如傳入的參數變量類型 是 大字符串,數組,集合,DataSet 等 測試的關鍵代碼如下,我傳入的字符串并沒有特別大,變量越大,使用 ByRef 效率越高,當然,當傳入得變量可以被修改或無其他作用時,可以改用 ByRef 傳 Private Declare Function GetTickCount Lib "kernel32" () As Int32 End Function End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim teststr As String Dim t As Int32 t = GetTickCount For II = 1 To 10000 MsgBox("ByRef " & CStr(GetTickCount - t)) End Sub |
溫馨提示:喜歡本站的話,請收藏一下本站!