重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、我有一个function,如下:
创新互联公司主要从事网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务寿县,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
function b()
'...
return "abc"
end function
2、调用时,这样子用:
Response.write(b());
3、运行结果:
abc
可以像这样,返回变量的值。
Visual Basic code
Public Function number() As Single '你在这已经设置了函数返回值的类型
Dim nJTTZ As Single = 1
return nJTTZ '返回变量的值
End Function
Public Function Index() As Single
Dim zJTTZ As Single = 1
return zJTTZ
End Function
Public Overloads Function CalcAmount() As Boolean
AddItemRow("", "第一部分:静态投资", "正线公里", number(), Index()) ‘调用函数即得到返回的变量值。
End Function
.Net的所有类型都是从System.Object派生而来的,所以将函数直接定义成
Function Prior() As Object 即可
不过在返回之后,调用此函数的代码要注意验证返回值的有效性
C返回局部变量的值也没问题啊
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效。
VB.NET不支持指针语法,它不可能返回指向栈上的指针,所以用不着担心这个问题。
你的理解
第一点理解是正确的,不过和这个问题关系不大。因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响。
第二点,那个只是个语法问题。VB6没有Return语句,所以它必然有另外一种语法来表明函数的返回值。这个和函数能否返回正确的对象没有关系,就是一种表明函数返回值的语法。
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里。这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函数的返回值返回而已。