Страницы

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

четверг, 23 мая 2019 г.

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

Имеется класс:
public class SomeClass { public SomeClass() { }
public const int SomeUsefulValue = 42; }
Создавая несколько (2 и более) экземпляров этого класса, память под константную переменную выделится один раз и переменная будет одна для каждого экземпляра? Или же для каждого экземпляра будет уникальная константная переменная?


Ответ

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

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

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