Luffy1
@Luffy1
Student, Junior .NET programmer, C#, JS, HTML/CSS

Куда записываются данные о том, что такая-то переменная является константой?

Например, у нас есть код:
const int i = 5;
const string g = "6";

Где в памяти показано или в метаданных помечено, что эти переменные являются константами? Как это обозначено под капотом?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
ayazer
@ayazer
Sr. Software Engineer
вы же уже спрашивали: Где в экземпляре примитивного ссылочного типа, например string, находится информация о том, что этот экземпляр — константа?

когда код уже скомпилирован - это нигде не хранится т.к. у нас записаны просто значения.
во время компиляции - оно хранится вот так https://github.com/dotnet/roslyn/blob/7a836c8e5a06...

например для const decimal во время компиляции будет использоватся вот это https://github.com/dotnet/roslyn/blob/7a836c8e5a06...

Но опять таки - это нужно только компилятору чтоб знать что с этими значениями делать. В результате значения констант будут подставлены по всем местам использования (о чем вы можете легко убедится декомпилировав код)
Ответ написан
Ваш ответ на вопрос

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

Потому что уже есть похожий вопрос.
Похожие вопросы