炫意html5
最早CSS3和HTML5移动技术网站之一

VB.Net – 功能

过程是一组在调用时一起执行任务的语句.执行该过程后,控件返回到调用该过程的语句. VB.Net有两种类型的程序 :

  • 函数

  • 子程序或子程序

函数返回一个值,而Subs不返回值.

定义函数

Function语句用于声明函数的名称,参数和正文. Function语句的语法是 :

[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
   [Statements]
End Function

其中,

  • 修饰符 : 指定函数的访问级别;可能的值包括:公共,私人,受保护,朋友,受保护的朋友以及有关重载,覆盖,共享和阴影的信息.

  • FunctionName : 表示函数的名称

  • ParameterList : 指定参数列表

  • ReturnType : 指定函数返回的变量的数据类型

示例

以下代码段显示了函数 FindMax ,它接受两个整数值并返回两者中较大的一个.

Function FindMax(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
   ' local variable declaration */
   Dim result As Integer
   
   If (num1 > num2) Then
      result = num1
   Else
      result = num2
   End If
   FindMax = result
End Function

函数返回a值

在VB.Net中,函数可以通过两种方式返回调用代码的值 :

  • 使用return语句

  • 通过将值赋值给函数名

以下示例演示如何使用 FindMax 函数 :

Module myfunctions
   Function FindMax(ByVal num1 As Integer, ByVal num2 As Integer) As Integer
      ' local variable declaration */
      Dim result As Integer
      
      If (num1 > num2) Then
         result = num1
      Else
         result = num2
      End If
      FindMax = result
   End Function
   Sub Main()
      Dim a As Integer = 100
      Dim b As Integer = 200
      Dim res As Integer
      
      res = FindMax(a, b)
      Console.WriteLine("Max value is : {0}", res)
      Console.ReadLine()
   End Sub
End Module

当编译并执行上面的代码时,它产生以下结果 :

Max value is : 200

递归函数

函数可以调用自身.这称为递归.以下是使用递归函数计算给定数字的阶乘的示例 :

Module myfunctions
   Function factorial(ByVal num As Integer) As Integer
      ' local variable declaration */
      Dim result As Integer
      
      If (num = 1) Then
         Return 1
      Else
         result = factorial(num - 1) * num
         Return result
      End If
   End Function
   Sub Main()
      'calling the factorial method
      Console.WriteLine("Factorial of 6 is : {0}", factorial(6))
      Console.WriteLine("Factorial of 7 is : {0}", factorial(7))
      Console.WriteLine("Factorial of 8 is : {0}", factorial(8))
      Console.ReadLine()
   End Sub
End Module

编译并执行上述代码时,会产生以下结果 :

Factorial of 6 is: 720
Factorial of 7 is: 5040
Factorial of 8 is: 40320

Param Arrays

有时,在声明函数或子过程时,您不确定作为参数传递的参数的数量.
VB.Net param数组(或参数数组)在这些时候开始提供帮助.

以下示例演示了这个 :

Module myparamfunc
   Function AddElements(ParamArray arr As Integer()) As Integer
      Dim sum As Integer = 0
      Dim i As Integer = 0
      
      For Each i In arr
         sum += i
      Next i
      Return sum
   End Function
   Sub Main()
      Dim sum As Integer
      sum = AddElements(512, 720, 250, 567, 889)
      Console.WriteLine("The sum is: {0}", sum)
      Console.ReadLine()
   End Sub
End Module

编译执行上述代码时它产生以下结果 :

The sum is: 2938

将数组作为函数参数传递

您可以在VB.Net中将数组作为函数参数传递.以下示例演示了此 :

Module arrayParameter
   Function getAverage(ByVal arr As Integer(), ByVal size As Integer) As Double
      'local variables
      Dim i As Integer
      Dim avg As Double
      Dim sum As Integer = 0
      
      For i = 0 To size - 1
         sum += arr(i)
      Next i
      avg = sum / size
      Return avg
   End Function
   Sub Main()
      ' an int array with 5 elements '
      Dim balance As Integer() = {1000, 2, 3, 17, 50}
      Dim avg As Double
      'pass pointer to the array as an argument 
      avg = getAverage(balance, 5)
      ' output the returned value '
      Console.WriteLine("Average value is: {0} ", avg)
      Console.ReadLine()
   End Sub
End Module

编译并执行上述代码时,会产生以下结果:

Average value is: 214.4

炫意HTML5 » VB.Net – 功能

Java基础教程Android基础教程