В чем преимущество инициализации статической переменной в статическом конструкторе вместо прямого присвоения значения?C#

Место общения программистов C#
Anonymous
В чем преимущество инициализации статической переменной в статическом конструкторе вместо прямого присвоения значения?

Сообщение Anonymous »

В приведенном ниже коде существует два способа присвоения значения статической переменной «RateOfInterest».
  • Напрямую присваивая значение.
  • Путем назначения в статическом конструкторе.
Я считаю, для нескольких объектов класса «Клиент» «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}");
}
}


Подробнее здесь: https://stackoverflow.com/questions/416 ... tructor-in

Вернуться в «C#»