Страницы

Поиск по вопросам

суббота, 7 марта 2020 г.

Выделение памяти под константное свойство в классе

#c_sharp #ооп


Имеется класс:

public class SomeClass
{
    public SomeClass() { }

    public const int SomeUsefulValue = 42;
}


Создавая несколько (2 и более) экземпляров этого класса, память под константную переменную
выделится один раз и переменная будет одна для каждого экземпляра? Или же для каждого
экземпляра будет уникальная константная переменная?
    


Ответы

Ответ 1



Констант нет. Все упоминания константы будут заменены непосредственным значением при компиляции. Именно поэтому константы можно инициализировать только значениями, известными во время компиляции. если смотреть с точки зрения языка, поведение const аналогично поведению static readonly, поэтому можно сказать, что константа одна на класс.

Комментариев нет:

Отправить комментарий