.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
VB.net入门(4):函数,过程

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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函数看起来简洁多了。




相关文章

相关软件