重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C返回局部变量的值也没问题啊
创新互联主营福贡网站建设的网络公司,主营网站建设方案,app软件开发公司,福贡h5小程序开发搭建,福贡网站营销推广欢迎福贡等地区企业咨询
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效。
VB.NET不支持指针语法,它不可能返回指向栈上的指针,所以用不着担心这个问题。
你的理解
第一点理解是正确的,不过和这个问题关系不大。因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响。
第二点,那个只是个语法问题。VB6没有Return语句,所以它必然有另外一种语法来表明函数的返回值。这个和函数能否返回正确的对象没有关系,就是一种表明函数返回值的语法。
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里。这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函数的返回值返回而已。
没有返回值的。
事件必须定义为没有返回值的委托。
如果要判断事件是否触发,必须监听该事件,在该事件处理中插入一个布尔变量。
Dim 全局布尔变量 As Boolean
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
全局布尔变量 = True
End Sub
'另外一个事件判断是否触发过这个事件
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If 全局布尔变量 = True Then
全局布尔变量 = False '记得把这个变量还原
'做自己的事情
End If
End Sub
Thread不会返回值的。你应该创建委托的,使用委托的异步方法
Dim funcInt32 As Func(Of String, Integer) = AddressOf GetList
Dim s As IAsyncResult = funcInt32.BeginInvoke("(参数)", Nothing, Nothing)
’在要获得结果的地方调用EndInvoke方法结束异步调用并获得结果。
Dim result As Int32 = funcInt32.EndInvoke(s)