只是一个非常快速的问题:我想创建一个带有可选参数的函数,因为我无法在函数中找到参数。结果我在visual basic中编写了以下函数:
Sub characterListLength(ByVal Optional)
Dim rowCount As Integer
Dim endOfArray As Boolean
While endOfArray = False
If dataArray(0, rowCount) And dataArray(1, rowCount) = "" Then
arrayLength = rowCount
endOfArray = True
Else
rowCount += 1
End If
End While
End Sub
但是在第一行:
Sub characterListLength(ByVal Optional)
如果代码中出现标识符,则会出现错误(ByVal可选)。我不知道如何修复此错误并具有可选参数。如果有人能解释我还需要做些什么来解决它,那将非常有用。
答案 0 :(得分:2)
您需要一个实际变量,例如:
Sub characterListLength(Optional ByVal optionalNumber As Integer = 0)
答案 1 :(得分:2)
如果你说:
因为我无法在函数中找到参数
然后使用不带参数的方法:
Sub characterListLength()
'Here your code
End Sub
答案 2 :(得分:0)
您需要为参数指定名称并切换关键字的顺序
Sub characterListLength(Optional ByVal p = Nothing)
答案 3 :(得分:0)
可选参数的一个更好的“dot-nettier”替代方法是使用重载方法。请考虑以下事项:
Overloads Sub ShowMessage()
ShowMessage("This is the default alter message")
End Sub
Overloads Sub ShowMessage(ByVal Message As String)
Console.WriteLine(Message)
End Sub
这样写的你可以两种方式调用上面的方法:
ShowMessage() 'will display default message
ShowMessage("This is custom message") 'will display method from the parameter