VB.NET局部静态变量怎么用

技术VB.NET局部静态变量怎么用这篇文章主要为大家展示了“VB.NET局部静态变量怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET局部静态变量怎么用”这篇文

本文主要展示“如何在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

(0)

相关推荐

  • 牛客小白月赛41 小红的375

    技术牛客小白月赛41 小红的375 牛客小白月赛41 小红的375题目链接
    直接判断一个数是不是375的倍数很难,但是判断一个数是不是3000(注意3000=375 \(\times\) 8)的倍数却很

    礼包 2021年12月7日
  • 如何使用Microsoft技术栈

    技术如何使用Microsoft技术栈这期内容当中小编将会给大家带来有关如何使用Microsoft技术栈,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Microsoft技术栈最近有大量的

    攻略 2021年11月2日
  • 吸热反应和放热反应,有哪些化学反应是吸热/放热反应

    技术吸热反应和放热反应,有哪些化学反应是吸热/放热反应自热火锅吸热反应和放热反应、自热米饭想必许多人都吃过,价格不贵又方便快捷,户外旅行的必备,大学和朋友们一块出去野营,男生为女性朋友们用这送温暖,还可以取得附加分。自热

    生活 2021年10月28日
  • 非常值得一看的电视剧,有哪些值得一看燃到爆的电视剧

    技术非常值得一看的电视剧,有哪些值得一看燃到爆的电视剧《陈情令》虽然暑假档有很多电视剧上线了,其中不乏有“顶级流量”主演的大IP剧,但大都是青春都市剧类型,古装剧是少之又少非常值得一看的电视剧。而《陈情令》,无疑是近期热

    生活 2021年10月25日
  • 分析HTML开发工具中的HBuilder

    技术分析HTML开发工具中的HBuilder本篇内容主要讲解“分析HTML开发工具中的HBuilder”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分析HTML开发工具中的H

    攻略 2021年11月5日
  • qt串口消息模拟器怎么实现

    技术qt串口消息模拟器怎么实现本篇内容介绍了“qt串口消息模拟器怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!/

    攻略 2021年11月30日