人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

.Net 下區別運用 ByRef/ByVal 的重要性

.Net 下區別運用 ByRef/ByVal 的重要性

更新時間:2022-09-06 文章作者:未知 信息來源:網絡 閱讀次數:

  一直以來在 VB6 下,參數默認都是按照 ByRef  傳送的,(即按地址傳送)

而在 .Net(C#,VB.Net) 下, 參數默認是使用 ByVal (即按值傳送)  傳送的,一直沒怎么注意。

這些天在優化程序時發現 當傳送 大變量時,使用默認方式(ByVal) 效率相當低

如傳入的參數變量類型 是 大字符串,數組,集合,DataSet 等

測試的關鍵代碼如下,我傳入的字符串并沒有特別大,變量越大,使用 ByRef 效率越高,當然,當傳入得變量可以被修改或無其他作用時,可以改用 ByRef 傳

 Private Declare Function GetTickCount Lib "kernel32" () As Int32


    Private Function TestByRef(ByRef aa As String) As String
        aa = "1" & aa
        TestByRef = aa

    End Function


    Private Function TestByVal(ByVal aa As String) As String
        aa = "1" & aa
        TestByVal = aa

    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim teststr As String
        Dim Newstr As String

        Dim t As Int32
        Dim II As Int32


        teststr = "wosdfsdfdsfdsfsfdsfsfsfsfsfsfdsfdsfcvxcvxcvcxvvcxvvvxvcvxv"

        t = GetTickCount

        For II = 1 To 10000
            Newstr = TestByRef(teststr)
        Next

        MsgBox("ByRef  " & CStr(GetTickCount - t))


        t = GetTickCount


        For II = 1 To 10000
            Newstr = TestByVal(teststr)
        Next


        MsgBox("ByVal  " & CStr(GetTickCount - t))

    End Sub


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 邢台市| 辛集市| 句容市| 上蔡县| 大安市| 普兰店市| 章丘市| 射阳县| 盘山县| 疏附县| 达日县| 卢氏县| 松溪县| 甘谷县| 郴州市| 漳平市| 康乐县| 福鼎市| 乐亭县| 梅州市| 南投县| 全州县| 高雄县| 阳曲县| 兴国县| 会泽县| 连南| 城口县| 安泽县| 珲春市| 安宁市| 吉隆县| 贡嘎县| 湾仔区| 岑巩县| 长沙市| 桓台县| 卓尼县| 砀山县| 定兴县| 天全县|