微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#将实例变量复制到同一类函数中的局部变量

我最近在一个开源项目上查看了一些代码,发现很多这种代码
class SomeClass
{
    private int SomeNumber = 42;

    public ReturnValue UseSomeNumber(...)
    {
        int someNumbercopy = this.someNumber;
        if (someNumbercopy > ...)
        {
            // ... do some work with someNumbercopy
        }
        else
        {
            // ... do something else with someNumbercopy
        }
    }
}

制作实例变量的副本有什么好处吗?

解决方法

否,除非您不想更改SomeNumber的值,并且您打算更新someNumbercopy.就像你要循环次数并且将someNumbercopy减少到零以跟踪计数一样.

我想复制这样的变量可以保护你免受某些外部功能的影响,改变SomeNumber并在执行操作时不知情地更改它.如果该类应该在多线程应用程序中使用,我可能会看到这个.也许不是我会这样做,但这可能是作者的意图.

原文地址:https://www.jb51.cc/csharp/97786.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐