VB.net入门(4):函数,过程

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

C和java里面就没有所谓函数和过程的区分:它们都是函数。在我的理解中,函数和过程的区别仅在于函数有返回值,而过程没有。

过程的定义是这样的:

sub MySub()

end sub

函数要有返回值,所以定义的时候要说明返回值的类型。函数的定义是这样的:

function MyFunction() as Object 'as子句标明了函数返回值的类型

end function

过程和函数可以带参数。比如下面这个过程:

public sub AddOne(Byval n as Integer) 'n是传入的参数,函数当中可以对n进行操作。

Console.WriteLine(n + 1)

end sub

调用这个过程的时候直接写:

AddOne(3)

就可以了。

完整的代码如下,你可以运行一下:

imports System

public module MyModule

sub Main

AddOne(3) '这里调用函数AddOne并传入一个参数3

Console.ReadLine

end sub

public sub AddOne(Byval n as Integer) '这里是函数AddOne的定义

Console.WriteLine(n + 1)

end sub

end module

函数是有返回值的。我们写一个函数,传入一个整数,函数返回这个数的加二。例如给它3,它返回5。

public function AddTwo(Byval n as Integer) as Integer

return n + 2 'return后面的表达式就是这个函数要返回的东西

end function

因为他返回一个整数,所以我们可以象使用整数一样使用这个函数。完整的使用这个函数代码如下:

imports System

public module MyModule

sub Main

Console.WriteLine(AddTwo(3)) '这里使用函数AddTwo

Console.ReadLine

end sub

public function AddTwo(Byval n as Integer) as Integer

return n + 2

end function

end module

像前面“输入输出”一章的那个加法例子,我们可以这样写:

imports System

public module MainModule

public sub Main()

dim i, j as integer

i = ReadNumber("第一个数:")

j = ReadNumber("第二个数:")

Console.WriteLine("{0}:{1}", "结果是", i + j)

Console.Read

end sub

public function ReadNumber(Byval Message as String) as Integer

Console.WriteLine(Message)

return cint(Console.Readline)

end function

end Module

这样,main函数看起来简洁多了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航