为静态方法声明变量的好习惯/场所是什么?

时间:2015-08-07 07:16:21

标签: c#

当我有静态方法时,什么是声明范围变量的好地方?内部方法体或外部?

public static void myMethod()
{
int myVariables;
//body
}

private static int myVariables;
public static void myMethod()
{
//body
}

4 个答案:

答案 0 :(得分:7)

您应该在尽可能小的范围内声明变量。因此,如果局部变量有效,请坚持使用局部变量(选项1)。

只有当你不能对局部变量做你想做的事情时,才考虑一个​​字段或属性。

答案 1 :(得分:1)

如果仅在方法作用域中使用该变量,则在方法内部声明它们,因为在返回方法后可以释放由它分配的内存。

如果需要在多个方法调用中存储一些变量,请在主体外部定义它们,以便在方法调用后不会释放它们。

答案 2 :(得分:1)

它依赖你的任务。你应该在尽可能小的范围内声明变量。

如果您想要全局访问,则应定义为下面的

private static int myVariables;
public static void myMethod()
{
//body
}

您只想在您应该定义为方法

的方法内访问
public static void myMethod()
{
int myVariables;
//body
}

答案 3 :(得分:1)

我说:

<强> 1。作为静态方法的参数

//这是最好的,因为您可以通过传递模拟值轻松测试您的方法,并且一旦方法结束,它就会被GC删除

<强> 2。本地变量

//这有点&#39; ok&#39;但是当你尝试对你的方法进行单元测试时,问题就出现了。检查本地方法变量的分配是否非常困难(它是否具有正确的值)。一旦方法结束,GC就会将其删除。

第3。类中的静态字段

//虽然通常应该避免这种情况,但如果您要在班级的不同方法中甚至在班级之外重复使用它,那么这是一个好主意。当您对班级的引用丢失时,GC会将其删除。