重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
subabc(x,y,z)的方法来调用返回。
成都创新互联公司专注于宿豫企业网站建设,响应式网站建设,商城网站制作。宿豫网站建设公司,为宿豫等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
sub可以使用subabc(x,y,z)的方法来调用,升岩仔其中的x,y,z可以是传入值,也可以是返回值,当然也可以不返,如subabc()Function可以使用functionabc(x,y,z)的方法来调用同,其中x,y,z为传入值,Function与sub最大的差别是Function可以使用函数体来返回值。
VisualBasic.NET是基于微吵汪枣神软.NETFramework之上的面向对象的编程语言。
你的 sub过程这个是子过程,无返回值的,这里Form1_Load中庆余b仍然 b=""
如果你想b="注释",将你的sub过程改成自定义函数,用b来接收返回值就行了,代码如下
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a As String = "rem"
Dim b As String = ""
b = sub过程(b, a)
Me.Text = b 悄正 '为什么“b”不是等于 "注释"
End Sub
Private Function sub过程(ByVal 输出 As String, ByRef 输入 As String) As String
If 输入 = "rem" Then
启差悔 输出 = "注释"
End If
Return 输出
End Function
C返回局部变量的值也没问题啊
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效。
VB.NET不支持指针语法,它不可能返回指向栈上的指针,颂衡所以用不着担心这个问题。
你的理解
第一点理解是正确的,不过和这个问题关系不大。因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响。
第二点,仿旁那个只是个语法问题。VB6没有Return语句,所以它必然有另外一种语法来表明函数的返回值。这个和函数能否返回正确的对象没有关系,就是一种表明函数返回值的语法。
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里。这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函备樱橡数的返回值返回而已。