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

前端之家收集整理的这篇文章主要介绍了C#将实例变量复制到同一类函数中的局部变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近在一个开源项目上查看了一些代码,发现很多这种代码
  1. class SomeClass
  2. {
  3. private int SomeNumber = 42;
  4.  
  5. public ReturnValue UseSomeNumber(...)
  6. {
  7. int someNumberCopy = this.SomeNumber;
  8. if (someNumberCopy > ...)
  9. {
  10. // ... do some work with someNumberCopy
  11. }
  12. else
  13. {
  14. // ... do something else with someNumberCopy
  15. }
  16. }
  17. }

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

解决方法

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

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

猜你在找的C#相关文章