VB.NET局部静态变量的示例分析

技术VB.NET局部静态变量的示例分析这篇文章将为大家详细讲解有关VB.NET局部静态变量的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。VB支持用Static关键字声明局部变

本文将详细解释VB.NET本地静态变量的实例分析。边肖觉得挺实用的,就分享给大家参考。希望你看完这篇文章能有所收获。

VB支持用Static关键字声明局部变量,这样变量的数值就可以保留在进程的末尾:

public subest1(Statici)

AsIntegeri=1

实现一个过程调用计数器EndSub。

我们实现了一个简单的进程计数器。每次调用Test时,计数器的值都会增加1。事实上,有很多情况下,我们希望保持变量的值。C#的静态不能在过程中使用。因此,要实现进程计数器,我们必须声明一个类级变量。这显然不如VB。因为不能阻止其他过程修改计数器变量。这与对象封装相同。它应该是一个方法的局部变量。现在我被迫把它分开,这显然是一个糟糕的设计。那么VB如何生成局部静态变量呢?将上面的代码返回到assembly,我们可以清楚地看到,在VB生成的CIL中,I不是作为局部变量出现的,而是作为类的Field出现的:fieldprivatespecialname

int32$STATIC$Test1$2001$i

也就是说,我被重命名为一个类的字段,但它被命名为specialname。试图访问代码中的$STATIC$Test1$2001$i是不可能的,因为它不是有效的标识符。但是,在IL中,为这个变量添加一个的代码与通用类字段完全相同,它是通过ldfld加载的。我觉得这个方法很聪明。它将一个静态变量转换为具有相同生命周期的类字段,但编译器控制访问权限,并使其成为局部变量。它还解释了为什么VB使用两个不同的关键字来声明静态变量mdash。mdash静态和共享。

因为VB.NET局部静态变量的本质是类的领域,它不同于真正的局部变量。比如在多线程的情况下,对VB.NET本地静态变量的访问和访问字段是一样的。

这篇文章是关于“VB中局部静态变量的实例分析”。NET”将在这里分享。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/129589.html

(0)

相关推荐

  • 怎么使用Docsify和GitHub Pages创建一个文档网站

    技术怎么使用Docsify和GitHub Pages创建一个文档网站这篇文章主要介绍怎么使用Docsify和GitHub Pages创建一个文档网站,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使

    攻略 2021年10月26日
  • 将全站进行HTTPS化优势是什么

    技术将全站进行HTTPS化优势是什么本篇文章为大家展示了将全站进行HTTPS化优势是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在HTTPS项目的开展过程中明显感觉到目前国

    攻略 2021年11月12日
  • 怎么实现在Python退出时强制运行一段代码

    技术怎么实现在Python退出时强制运行一段代码这篇文章主要讲解了“怎么实现在Python退出时强制运行一段代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么实现在P

    攻略 2021年11月3日
  • 如何使用sklearn进行数据挖掘

    技术如何使用sklearn进行数据挖掘今天就跟大家聊聊有关如何使用sklearn进行数据挖掘,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.1 数据挖掘的步骤 

    攻略 2021年11月2日
  • 扫一扫翻译,怎么用手机来拍照识别英语单词

    技术扫一扫翻译,怎么用手机来拍照识别英语单词如何用手机QQ翻译英文?
    1.点击打开手机QQ图标扫一扫翻译,2.在QQ主页面,点击右上角+号,3.在弹出的菜单栏点击扫一扫,
    4.在扫一扫界面,点击翻译,
    5.点击白色圆按钮

    生活 2021年10月20日
  • 如何使用源码解析AbstractOwnableSynchronizer

    技术如何使用源码解析AbstractOwnableSynchronizer如何使用源码解析AbstractOwnableSynchronizer ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解

    攻略 2021年10月28日