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)

相关推荐

  • rabbitmq Hash冲突和一致性相关问题举例分析

    技术rabbitmq Hash冲突和一致性相关问题举例分析这篇文章主要介绍“rabbitmq Hash冲突和一致性相关问题举例分析”,在日常操作中,相信很多人在rabbitmq Hash冲突和一致性相关问题举例分析问题上

    攻略 2021年11月19日
  • MySQL多版本并发控制机制源码分析

    技术MySQL多版本并发控制机制源码分析本篇内容主要讲解“MySQL多版本并发控制机制源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL多版本并发控制机制源码分

    攻略 2021年12月3日
  • 腾讯新闻基于 Flink PipeLine 模式的实践

    技术腾讯新闻基于 Flink PipeLine 模式的实践 腾讯新闻基于 Flink PipeLine 模式的实践基于腾讯云流计算Oceanus和PipeLine搭建的实时数据仓库思想摘要 :随着社会消

    礼包 2021年12月16日
  • JVM指令系统的组成及怎么用使用

    技术JVM指令系统的组成及怎么用使用JVM指令系统的组成及怎么用使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍一下JVM指令系统 的概念和用法,JV

    攻略 2021年10月23日
  • css如何设置链接点击后的颜色

    技术css如何设置链接点击后的颜色这篇文章主要为大家展示了“css如何设置链接点击后的颜色”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何设置链接点击后的颜色”这篇文

    攻略 2021年12月10日
  • Week Eight

    技术Week Eight Week Eight数组、字符串
    一. 给一个字符数组赋值 char a[ 6] = “china” 与char a[ ]={‘c’,’h’,’i’,’n’,’a’}所有字符串

    礼包 2021年11月15日