欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.Net 下區(qū)別使用 ByRef/ByVal 的重要性 分享

 更新時(shí)間:2013年07月24日 10:45:36   作者:  
這篇文章介紹了.Net 下區(qū)別使用 ByRef/ByVal 的重要性,有需要的朋友可以參考一下
  一直以來(lái)在 VB6 下,參數(shù)默認(rèn)都是按照 ByRef  傳送的,(即按地址傳送)
而在 .Net(C#,VB.Net) 下, 參數(shù)默認(rèn)是使用 ByVal (即按值傳送)  傳送的,一直沒怎么注意。
這些天在優(yōu)化程序時(shí)發(fā)現(xiàn) 當(dāng)傳送 大變量時(shí),使用默認(rèn)方式(ByVal) 效率相當(dāng)?shù)?BR>如傳入的參數(shù)變量類型 是 大字符串,數(shù)組,集合,DataSet 等
測(cè)試的關(guān)鍵代碼如下,我傳入的字符串并沒有特別大,變量越大,使用 ByRef 效率越高,當(dāng)然,當(dāng)傳入得變量可以被修改或無(wú)其他作用時(shí),可以改用 ByRef 傳
復(fù)制代碼 代碼如下:

 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

相關(guān)文章

  • asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼

    asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼

    剛看到有人給出asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的方法,本方法未經(jīng)本人測(cè)試,不知道能否可靠性如何。準(zhǔn)確來(lái)說,這只是個(gè)思路吧
    2013-03-03
  • 在.NET?6中使用日志組件log4net的方法

    在.NET?6中使用日志組件log4net的方法

    本文詳細(xì)講解了Asp.Net?Core中使用日志組件log4net的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • VS2015開發(fā)環(huán)境的安裝和配置

    VS2015開發(fā)環(huán)境的安裝和配置

    本文主要是給大家把C#開發(fā)環(huán)境各種版本的更新和安裝過程重新整理一下貢獻(xiàn)出來(lái),希望對(duì)小伙伴們能夠有所幫助
    2016-07-07
  • 在ASP.NET?Core微服務(wù)架構(gòu)下使用RabbitMQ實(shí)現(xiàn)CQRS模式的方法

    在ASP.NET?Core微服務(wù)架構(gòu)下使用RabbitMQ實(shí)現(xiàn)CQRS模式的方法

    ASP.NET Core微服務(wù)架構(gòu)中,使用RabbitMQ作為消息隊(duì)列服務(wù),通過實(shí)現(xiàn)CQRS模式,將寫操作和讀操作分離,以提高系統(tǒng)的性能和可伸縮性,本文小編將為大家介紹如何在ASP.NET Core微服務(wù)架構(gòu)下使用RabbitMQ來(lái)實(shí)現(xiàn)CQRS模式,感興趣的朋友一起看看吧
    2024-01-01
  • .NET6導(dǎo)入和導(dǎo)出EXCEL

    .NET6導(dǎo)入和導(dǎo)出EXCEL

    這篇文章介紹了.NET6導(dǎo)入和導(dǎo)出EXCEL的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • asp.net(C#) 動(dòng)態(tài)添加非ASP的標(biāo)準(zhǔn)html控件(如添加Script標(biāo)簽)

    asp.net(C#) 動(dòng)態(tài)添加非ASP的標(biāo)準(zhǔn)html控件(如添加Script標(biāo)簽)

    在開發(fā)程序時(shí),有時(shí)需要?jiǎng)討B(tài)添加標(biāo)簽,而有部分又不是ASP控件,偶然找到這段代碼,特收藏。
    2009-07-07
  • .net清空所有Cache的實(shí)現(xiàn)代碼

    .net清空所有Cache的實(shí)現(xiàn)代碼

    .net清空所有Cache的實(shí)現(xiàn)代碼
    2009-06-06
  • asp.net 簡(jiǎn)便無(wú)刷新文件上傳系統(tǒng)

    asp.net 簡(jiǎn)便無(wú)刷新文件上傳系統(tǒng)

    之前寫過一個(gè)仿163網(wǎng)盤無(wú)刷新多文件上傳系統(tǒng),已經(jīng)對(duì)無(wú)刷新上傳文件的原理做了詳細(xì)的分析而這次的系統(tǒng)主要是針對(duì)單個(gè)file控件的,便攜版,使用更簡(jiǎn)單,還有更深入的分析
    2012-05-05
  • Nginx配置實(shí)現(xiàn)下載文件的示例代碼

    Nginx配置實(shí)現(xiàn)下載文件的示例代碼

    這篇文章主要介紹了Nginx配置實(shí)現(xiàn)下載文件的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • WPF實(shí)現(xiàn)數(shù)據(jù)綁定

    WPF實(shí)現(xiàn)數(shù)據(jù)綁定

    這篇文章介紹了WPF實(shí)現(xiàn)數(shù)據(jù)綁定的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論