zoukankan      html  css  js  c++  java
  • c#中的静态本地方法

    在 C# 8 中微软增加了静态本地方法,这种类型的方法无法获取和修改任何本地变量和实例成员。下面我们来看一下这种方法的具体用法。
    首先我们来看一下普通的方法:

    class Program
    {
        string name = "张三";
        public void Opreation()
        {
            int age = 20;
            int GetAge()
            {
                age = 40;
                return age;
            }
            string GetName()
            {
                name = "李四";
                return name;
            }
        }
    }
    

    在上述代码中我们可以在本地方法中任意修该变量和实例成员的值,在大多数情况下我们并不希望实例变量和本地变量的值被修改或者被获取到,这时我们就可以使用 c# 8 中的静态本地方法来处理这个问题。方法很简单,就是在本地方法前加上 static 关键字即可,如果需要在静态本地方法中捕获并修改者实例变量的话,就需要在实例变量前加上 static 即可。我们将前面的代码修改如下:

    class Program
    {
        static string name = "张三";
        public void Opreation()
        {
            int age = 20;
            static int GetAge()
            {
                #region 这样写会报错
                //age = 40;
                // return age;
                #endregion
                return 40;
            }
            static string GetName()
            {
                name = "李四";
                return name;
            }
        }
    }
    

    静态本地方法的可以帮助我们皮面本地方法捕获实例状态,并且在某些情况下可以提升性能。

  • 相关阅读:
    Python学习——模块的基本知识
    Python学习-软件目录结构规范
    路径追踪的理论与实现:复合重要性采样
    路径追踪的理论与实现:渲染方程
    记一个C++随机数导致的bug
    Gamma矫正的原理和实现
    聊一聊Python的sort函数
    BVH树的构建与遍历
    Cocos动画系统
    Cocos事件分发系统
  • 原文地址:https://www.cnblogs.com/gangzhucoll/p/12778144.html
Copyright © 2011-2022 走看看