Vb.net 调用Sub并返回值
这似乎是一个极其简单的问题,但我似乎在任何地方都找不到答案。我想我在VB方面做得不错,但前几天我在学习javascript时发现了一些看起来很棒的东西,现在我不知道如何在VB中实现它 在javascript中,它如下所示: var someValue=gethatValue() 它调用和设置getHatValue()子函数中的值。VB的等价物是什么Vb.net 调用Sub并返回值,vb.net,visual-studio,Vb.net,Visual Studio,这似乎是一个极其简单的问题,但我似乎在任何地方都找不到答案。我想我在VB方面做得不错,但前几天我在学习javascript时发现了一些看起来很棒的东西,现在我不知道如何在VB中实现它 在javascript中,它如下所示: var someValue=gethatValue() 它调用和设置getHatValue()子函数中的值。VB的等价物是什么 编辑 我试过这样做: private sub main() dim value = getValue() 'do
编辑 我试过这样做:
private sub main()
dim value = getValue()
'do something with value
end sub
private sub getValue()
return 3
end sub
这似乎不起作用,我如何才能让它起作用?您应该使用一个属性:
Private Sub Main()
Dim value = getValue()
'do something with value
End Sub
Private Function getValue() As Integer
Return 3
End Function
Private _myValue As String
Public Property MyValue As String
Get
Return _myValue
End Get
Set(value As String)
_myValue = value
End Set
End Property
然后像这样使用它:
MyValue = "Hello"
Console.write(MyValue)
Sub
不返回值,函数
s没有副作用
有时,您需要副作用和返回值
一旦您知道VBA默认通过引用传递参数,就很容易做到这一点,这样您就可以用以下方式编写代码:
Sub getValue(retValue as Long)
...
retValue = 42
End SUb
Sub Main()
Dim retValue As Long
getValue retValue
...
End SUb
在VB中,返回值的方法称为函数。不返回值的方法称为Sub。当然,VB.NET现在有自动属性,所以一行
公共属性MyValue作为字符串就足够了。当然可以,但最好知道它到底在做什么,因为你不能一直使用快捷方式。如果你想改变设置为一个不同的修饰符,比如Private。快捷方式本质上是为您编写上述代码。