Visual baisc中Byval與Byref的區別
1、引用參數(ref)在可以作為引用參數在函數成員調用中傳遞之前,必須已明確賦值,而輸出參數(out)在可以作為輸出參數在函數成員調用中傳遞之前不一定要明確賦值,在該函數成員正常返回前都必須已明確賦值。 2、在函數內部,引用參數(ref)被視為初始已
1、引用參數(ref)在可以作為引用參數在函數成員調用中傳遞之前,必須已明確賦值,而輸出參數(out)在可以作為輸出參數在函數成員調用中傳遞之前不一定要明確賦值,在該函數成員正常返回前都必須已明確賦值。
2、在函數內部,引用參數(ref)被視為初始已賦值,輸出參數(out)被視為初始未賦值。
3、默認地,
VB中的所有參數都是值傳遞。只有在參數的修飾符中明確包含out或ref,才是引用傳遞。但是需要知道的是,當參數的類型是引用類型時,你傳遞的是一個對象的引用而不是實際的對象。
實例:
clearcase/" target="_blank" >cccccc" width="90%" align="center" bgcolor="#e7e9e9" border="1">
sub Add1(ByVal no as int32)
no=no+100
end sub
sub Add2(ByRef no as int32)
no=no+100
end sub
private sub button1_click(sender as object,e as eventargs)handles button1.click
dim a as int32
a=100
Add1(a)
msgbox ("a的值為:" & a) '顯示:a的值為100
Add2(a)
msgbox ("a的值為:" & a) '顯示:a的值為200,因為Add2中的參數no為ByRef,即
'按地址傳遞,因此在Add2中對no進行修改后,將會導致
'源參數a的值也被修改。
End Sub |
ByVal是傳遞值 源數據不會被修改,你可以把這個值當作自己的局部變量來使用;ByRef是傳遞地址,源數據可能被修改,你對這個變量的操作將對你傳入的那個變量產生影響,就像指針的感覺。
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|