我对变量声明中的内存管理存有疑问。
在我的课堂上,我有大约20种方法,我在课堂上使用了大约50个变量。
我在一个类的开头全局声明了所有变量。
这是正确的做法吗?或者哪一个更好......使用结构或其他任何东西???
下面是一个基本的例子,我需要使用优化我的记忆。
class Program
{
static int a, b, c, d; //----> Here am declaring , i need any other way
static void Main(string[] args)
{
a = 10;
b = 20;
c = 30;
d = 40;
int result = add(a, b, c, d);
Console.WriteLine(result);
Console.ReadLine();
}
public static int add(int w, int x, int y, int z)
{
return w + x + y + z;
}
}
答案 0 :(得分:5)
您的类级变量仅在单个方法中使用,因此仅在该方法的范围内声明它们:
static void Main(string[] args)
{
var a = 10;
var b = 20;
var c = 30;
var d = 40;
int result = add(a, b, c, d);
Console.WriteLine(result);
Console.ReadLine();
}
根据经验,保持变量尽可能接近其使用。任何时候范围必须增加,退一步思考结构。不要盲目地将变量放在范围内。
您是否有理由尝试优化代码的资源消耗?很可能,特别是在这种情况下,编译器已经很好地完成了这项工作。除非您看到实际问题,否则不要过早优化。这通常会导致无法管理的代码。
此外,这是一个附注,因为我知道这是一个人为的例子......有意义的变量名称非常重要。有意义的名称还可以帮助您理解和识别变量的期望范围。如果一个变量被称为a
,那么它不会给你任何关于它意味着什么的上下文。但是,如果名称告诉您它的含义,那么您可以更容易地看到代码中的哪些上下文实际负责该值,从而更好地定义范围。