本文主要展示“如何在VB中使用局部静态变量。NET”,简单易懂,组织清晰,希望能帮你解决疑惑。让边肖带领大家学习学习《如何在VB中使用局部静态变量》一文。NET”。
VB.NET局部静态变量
VB支持用Static关键字声明局部变量,这样变量的数值就可以保留在进程的末尾:
public subtest 1()' statiasintegeri=1 '实现一个过程调用计数器EndSub我们已经实现了一个简单的过程计数器。每次调用Test时,计数器的值都会增加1。事实上,有很多情况下,我们希望保持变量的值。C#的静态不能在过程中使用。因此,要实现进程计数器,我们必须声明一个类级变量。这显然不如VB。因为不能阻止其他过程修改计数器变量。这与对象封装相同。它应该是一个方法的局部变量。现在我被迫把它分开,这显然是一个糟糕的设计。那么VB如何生成局部静态变量呢?将上面的代码返回到assembly,我们可以清楚地看到,在VB生成的CIL中,I不是作为局部变量出现的,而是作为类的Field出现的:field private specialnameint 32 $ static $ test1 $ 2001 $ I .也就是说,我被重命名为一个类的字段,但它被命名为specialname。试图访问代码中的$STATIC$Test1$2001$i是不可能的,因为它不是有效的标识符。但是,在IL中,为这个变量添加一个的代码与通用类字段完全相同,它是通过ldfld加载的。我觉得这个方法很聪明。它将一个静态变量转换为具有相同生命周期的类字段,但编译器控制访问权限,并使其成为局部变量。它还解释了为什么VB使用两个不同的关键字来声明静态变量—— Static和Shared。
因为VB.NET局部静态变量的本质是类的领域,它不同于真正的局部变量。比如在多线程的情况下,对VB.NET本地静态变量的访问和访问字段是一样的。
以上就是《如何在VB中使用局部静态变量》一文的全部内容。NET”。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/130830.html