永发信息网

VB2010中什么时候用byval

答案:2  悬赏:70  手机版
解决时间 2021-11-10 23:19
VB2010中什么时候用byval
最佳答案
ByVal就是传值调用,就是把变量的值作为参数传送到子过程中,子过程内部对这个参数进行任何修改都不会影响到原变量的值。
而把ByVal去掉或者改为ByRef则是传址调用,就是把变量的内存地址作为参数传送到子过程中,那么子过程内部对这个内存地址进行赋值就相当于直接给原来那个变量赋值,这样原变量的值就会跟着改变。
你这段代码如果想得到100的结果,就要把test子过程的参数a的调用方式改为传址,也就是去掉ByVal即可。

补充:当你不希望子过程改变原变量(或者说实参)的值时,子过程的参数(或者说形参)采用ByVal(传值)调用方式;反之则要采用ByRef(传址)调用方式。
全部回答
Public Class Form1
    Private Sub test(Byref a As Integer) 'byval 传值 不改变原值
        a = 99 + 1

    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i, b As Integer
        Call test(i)
        TextBox1.Text = CStr(i)
    End Sub
End Class
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么是OFDM技术??
洽组词,用洽字怎么组词
山西介休农村商业银行ATM(绵山路支行)地址在
夫妻双方离婚彩礼和戒指怎么处理
车子第二年的保险费用是多少?
伯霖教育地址好找么,我有些事要过去,
vivox9出现这个是什么问题
如何走进一个性格孤僻人的内心世界
请问同行们 你们谁知道漳州网约车考试在哪申
我是辽宁彰武县的,想加盟中低端厨卫电器器,
灰钙在自流平砂浆里起什么作用
这种纱窗怎么开啊?注意(是外边窗户里边的纱
中国移动通信河西营业厅我想知道这个在什么地
在和声大小调中,增二度应该解决到几度?减四
为什么燃烧枣木,有时候蹦火花。
推荐资讯
594-95-264=594-( )+( )
不知道以后哪个更能有发展前途,好像现在施工
blender gpu渲染在哪
西安方欣海鲜市场在白家口什么位置,那一站叫
上海浦东新区安全生产培训中心地址好找么,我
自制葱油饼怎么做
闲鱼会发短信吗
减肥前一运动就流汗 减肥后流汗很少为什么
玉石枕和决明子枕那种好
李白有很多写友情的诗句请你写出其中连续的两
球蟒怎么养具体点
我想加入一个社群学习,有什么好一点的社群推
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?