public function createstringarr() as string()
end function
①.、我有一个function,如下:
function b()
'...
return "abc"
Response.write(b());
abc
Public?Class?Form1
Public?Class?SquareClass?'把多线程调用的函数封装到类中,通过类事件返回
Public?Value?As?Double
Public?Square?As?Double
Public?Event?ThreadComplete(ByVal?Square?As?Double)
Public?Sub?CalcSquare()
Square?=?Value?*?Value
RaiseEvent?ThreadComplete(Square)
End?Sub
End?Class
Dim?WithEvents?oSquare?As?SquareClass
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click?'多线程返回值测试,当线程运行完成激发事件
oSquare?=?New?SquareClass()
Dim?t?As?New?Threading.Thread(AddressOf?oSquare.CalcSquare)
t.Start()
Sub?SquareEventHandler(ByVal?Square?As?Double)?Handles?oSquare.ThreadComplete?'响应事件函数
MsgBox("The?square?is?"?Square)
C返回局部变量的值也没问题啊
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效.
VB.NET不支持指针语法,它不可能返回指向栈上的指针,所以用不着担心这个问题.
你的理解
第一点理解是正确的,不过和这个问题关系不大.因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响.
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里.这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函数的返回值返回而已.
.Net的所有类型都是从System.Object派生而来的,所以将函数直接定义成
Function Prior() As Object 即可
不过在返回之后,调用此函数的代码要注意验证返回值的有效性
以上就是土嘎嘎小编为大家整理的vb.net返回函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!