Сегодня я нашел статью, в которой поле const
называется компиляция -константа времени , а поле readonly
называется константа времени выполнения . Эти две фразы взяты из 《Effective C #》. Я искал в MSDN и спецификации языка, ничего не нашел о константе времени выполнения .
Без обид, но я не думаю, что постоянная времени выполнения является правильным выражением.
private readonly string foo = "bar";
создает переменную с именем "foo", значением которой является "bar", и это значение доступно только для чтения, здесь это переменная, не имеет значения constant
. Переменная только для чтения по-прежнему является переменной, она не может быть константой. Переменная и константа исключают друг друга.
Может быть, этот вопрос выходит за рамки, все же я хочу услышать мнение других. Что вы думаете?