在静态构造函数中初始化静态变量而不是直接赋值的好处是什么?

代码101

在下面的代码中,有两种分配静态变量“ RateOfInterest”的值的方法。

  1. 通过直接分配值。
  2. 通过分配静态构造函数。

我相信对于“ Customer”类的多个对象,“ RateOfInterest”将仅使用这两种方法进行一次内存分配。(如果我错了,请纠正我)。

一种方法相对于另一种方法是否有任何特定优势?

class Customer
{
    int AccNo;
    static int RateOfInterest;
    //static int RateOfInterest = 10;    // Approach 1
    static Customer()
    {
        RateOfInterest = 10;          // Approach 2
    }
    public Customer(int AccNo)
    {
        this.AccNo = AccNo;
    }
    public void Display()
    {
        Console.WriteLine($"AccNo : {AccNo}, Rate : {RateOfInterest}");
    }
}
卡泽姆·阿赫加里(M.kazem Akhgary)

它们将被编译成相同的东西。所以没什么不同

那不是私有的构造函数。那是静态构造函数

静态构造函数用于初始化任何静态数据,或执行仅需要执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用它

当通过直接分配值,行变得太长(基于观点)或需要多行初始化值时,我使用静态构造函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章