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)

相关推荐

  • 环境搭建

    技术环境搭建 环境搭建1.卸载JDK直接删除Java的安装目录
    删除环境变量中的JAVA_HOME
    删除path下的关于Java的目录
    打开命令提示符输入java -version进行确认2.安装JDK

    礼包 2021年11月27日
  • Axios中值得学习的核心知识点有哪些

    技术Axios中值得学习的核心知识点有哪些本篇内容介绍了“Axios中值得学习的核心知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年10月27日
  • SpringSecurity原理是什么

    技术SpringSecurity原理是什么本篇内容主要讲解“SpringSecurity原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringSecurity原

    攻略 2021年10月26日
  • 负数的怎么用二进制表示(二进制表示负数有什么好处)

    技术负数的二进制表示方法是什么本篇内容介绍了“负数的二进制表示方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!原

    攻略 2021年12月21日
  • mysql中and指的是什么意思

    技术mysql中and指的是什么意思这篇文章主要介绍mysql中and指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在mysql中,and的意思为“并且

    攻略 2021年12月2日
  • mysql基础知识有哪些

    技术mysql基础知识有哪些本篇内容介绍了“mysql基础知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一章

    攻略 2021年11月18日