将参数传递给函数以获取字符串

时间:2017-02-07 14:41:58

标签: vb.net parameters

我认为这是一个相对简单的问题,但我觉得这个问题似乎很小......

我有一个表单,我尝试将一个参数传递给一个函数并以值返回一个字符串

 ParmValue = "Juarez"

 dim CheckValue = GetValueFromFunction(parmValue)

 Private Sub GetValueFromFunction (ByVal Optional ValueFromFunc as string)
    'do stuff
    getValueFromFunction = "OK"

    or

    getValueFromFuncton="NOTOK"

    return GetValueFromFunction
 End sub

基本上我希望从GetValueFromFunction获取字符串值,以便CheckValue保存该值。我做错了什么?

2 个答案:

答案 0 :(得分:4)

你无法从Sub返回某些内容;它必须是Function

Private Function GetValueFromFunction(Optional ValueFromFunc as String = Nothing) As String
    Dim returnValue As String 
    'do stuff... 
    If someCondition Then
        returnValue = "OK"
    Else
        returnValue = "NOTOK"
    End If

    Return returnValue 
End Function

Function是一种返回内容的方法,而Sub是一种不返回内容的方法(它更像是一种操作)。在C#中,Sub会返回void

答案 1 :(得分:1)

因为您要返回一个值,所以需要使用Function。您的代码错误,因为它声明了Sub(过程)。

正确使用Function是:

Private Function GetValueFromFunction (ByVal ValueFromFunc As String) As String
   ' do stuff
    GetValueFromFunction = "OK"

    ' or

    GetValueFromFunction = "NOTOK"

    Return GetValueFromFunction
End Function
  

请注意As String的使用。这是为了指示Function的返回类型。