Luffy1
@Luffy1
Студент, Junior .NET programmer

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

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

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

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

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

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

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

Потому что уже есть похожий вопрос.
Похожие вопросы
от 110 000 до 150 000 ₽
BRIO MRS Казань
от 70 000 до 120 000 ₽
СМАРТ-СОФТ Волгоград
от 60 000 до 90 000 ₽
15 авг. 2020, в 10:49
800 руб./в час
15 авг. 2020, в 05:42
50000 руб./за проект
15 авг. 2020, в 05:23
5000 руб./за проект