将局部变量传递给全局函数

时间:2011-05-31 09:25:18

标签: c# .net

在我的程序中,我将本地构造的变量传递给全局类对象的成员函数。成员函数将此变量分配给私有成员并在整个程序中使用它。这种方法有什么缺点吗?

public void function()
{
int a = 0;
globalClassObject.StoreValue(a);

}

3 个答案:

答案 0 :(得分:2)

这很好。问题是如果你要传递对这个变量的引用。在这种情况下,该值被“复制”到函数中的变量,因此实际上并未使用原始a变量。

答案 1 :(得分:0)

我没有看到这个问题。该变量仅在本地范围内使用,因此此处没有意外结果。

答案 2 :(得分:-1)

最大的缺点是如果可以在程序中的任何其他位置更改此值。如果可以的话,你的程序将成为繁殖bug的沼泽地。如果globalClassObject以不可变的方式存储该值,则没有问题。