-2

我对变量声明中的内存管理有疑问。

在我的班级中,我有大约 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;
        }
    }
4

1 回答 1

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那么这不会为您提供任何有关其含义的上下文。但是,如果名称告诉您它的含义,那么您可以更容易地想象代码中的哪些上下文实际上负责该值,从而更好地定义范围。

于 2012-04-23T17:18:30.013 回答