2014-02-20 182 views
0

如何在另一个子项中使用来自Sub Main的可放弃项。将变量从一个过程传递到另一个过程

Sub Main() Dim x As Long End Sub

Sub Test() Dim y = x End Sub 

这是可能的vb.net

+1

将x声明为全局变量? – Tim

+0

如果在过程级范围中定义了变量,则不可能。请参阅[Microsoft .NET中的变量和方法范围](http://msdn.microsoft.com/zh-cn/library/ms973875.aspx) – har07

+0

这是如何在vb.net上完成的?如果它是在同一个程序中,那么将它称为是一样的? – LyanR

回答

1

你可以把它作为一个功能,再返回它:

Sub Main() 
Dim x As Long 
' Give x a value 
x = Test(x) 
' Do something else with x 
End Sub 

Function Test(x As Long) As Long 
' Do something with x 
Return x 
End Sub 

或者声明它作为一个全球性的变量:

Dim x As Long 
Sub Main() 
' Do something with x 
End Sub 

Sub Test() 
Dim y = x ' Do something else 
End Sub 
+0

+1您的第一个答案。第二个答案在技术上是可行的,但这是可怕的编程习惯。 –

0

有一个非常简单的方法来做到这一点。

从顶部的所有Subs中声明该值。

Public Class Form 1 
     Dim x As Long 

    Private Sub Main() 

    End Sub 

    Private Sub Test() 

    End Sub  
End Class 

然后写y = x无论你想要哪个子!

+1

谢谢简单而有效! – LyanR

+0

很高兴为您服务! –

相关问题