sub是可以有参数的,但是是没有返回值的。
你可以用function
如
Function add(ByVal a As Integer, ByVal b As Integer)
add = a + b
End Function
a = add(1,1) 这样a = 2
VB.NET包含内置的或内部的函数,如MsgBox、CStr等。此外,还可用Function语句编写自己的VB.NET Function过程。函数过程的语法是:
{Private|Public|Friend|}
Function functionname(argument list)[As data type]
Statements
End Function
与Sub过程一样,VB.NET Function过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与Sub过程不同的是,Function过程可返回一个值到调用的过程。在Sub过程与Function过程之间有三点区别:
(1)一般来说,语句或表达式的右边包含函数过程名和参数(returnvalue=function),这就调用了函数。
(2)与变量完全一样,函数过程有数据类型。这就决定了返回值的类型(如果没有As子句,缺省的数据类型为Object)。
(3)可以给functionname赋一个值,即为返回的值。
VB.NET Function过程返回一个值时,该值可成为表达式的一部分。例如,下面是已知直角三角形直角边的值,计算第三边(斜边)的函数:
Function Hypotenuse(A as Integer,B As Integer) As String
Hypotenuse=Math.Sqrt(A^2+B^2)
End Function
在Visual Basic中调用VB.NET Function过程的方法和调用任何内部函数的方法是一样的:
Label1.Text=CStr(Hypotenuse(CInt(Text1.Text),CInt(Text2.Text)))
strX=CStr(Hypotenuse
(Width,Height))