我对变量声明中的内存管理存有疑问.
在我的课堂上,我有大约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;
}
}
Run Code Online (Sandbox Code Playgroud)
您的类级变量仅在单个方法中使用,因此仅在该方法的范围内声明它们:
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();
}
Run Code Online (Sandbox Code Playgroud)
根据经验,保持变量尽可能接近其使用.任何时候范围必须增加,退一步思考结构.不要盲目地将变量放在范围内.
您是否有理由尝试优化代码的资源消耗?很可能,特别是在这种情况下,编译器已经很好地完成了这项工作.除非您看到实际问题,否则不要过早优化.通常,这导致无法管理的代码.
此外,这是一个附注,因为我知道这是一个人为的例子......有意义的变量名称非常重要.有意义的名称还可以帮助您理解和识别变量的期望范围.如果调用了一个变量a,那么它就不会给你任何关于它意味着什么的上下文.但是,如果名称告诉您它的含义,那么您可以更容易地看到代码中的哪些上下文实际负责该值,从而更好地定义范围.