2012-03-30 32 views
1

我是一名学生做一个任务,我如何将一个子过程的值传递给一个函数过程....我想将值从decSubtotal传递给一个名为CalculateDiscount的函数过程;看看我的代码 -如何将一个子过程的值传递给函数过程....我是否将整个子过程传递给函数过程参数?

Private Sub CalculateSubtotal(ByVal _decTENTCOST As Decimal, ByVal _decRVCOST As Decimal, _ 
           ByVal _decCABINCOST As Decimal) 

    Dim decSubtotal As Decimal 
    Dim intSiteType, intNumberOfNights As Integer 

    intSiteType = cboSiteType.SelectedIndex() 
    intNumberOfNights = Convert.ToInt32(txtNumberOfNights.Text) 

    Select Case intSiteType 
     Case 0 
      decSubtotal = _decTENTCOST * intNumberOfNights 
     Case 1 
      decSubtotal = _decRVCOST * intNumberOfNights 
     Case 2 
      decSubtotal = _decCABINCOST * intNumberOfNights 

    End Select 

    lblSubtotal.Text = decSubtotal.ToString() 

End Sub 

回答

1

你会打电话给这样的功能,(你完Select语句之后,可能)

Dim MyValue = CalculateDiscount(decSubTotal) 

你CalculateDiscount可能是这样的:

Function CalculateDiscount(byval pSubTotal as Decimal) as Decimal 

    .... 

    return MyDiscountedAmount 

End Function 

在VB.NET中,我们只说“subs”和“functions”。两者都是子程序,也称为子程序(对某些程序)。函数总是返回一个值,而subs不会返回一个值。

+0

我仍然有一些麻烦....我混淆了自己 – 2012-03-30 05:39:42

+0

谢谢。我意识到我没有分配正确的变量给对方 – 2012-03-30 08:28:28

+0

再次感谢...我认为一个子程序是不同的功能程序..感谢清除。我的任务需求文档说创建一个子过程,所以我只是创建一个子而不是函数...这是一个巨大的概率....大声笑 – 2012-03-30 08:33:54

相关问题