Можно создать дубликат:
What is the difference between const and readonly?разница между ReadOnly и Const?
являются эти взаимозаменяемы? можете ли вы показать мне код о том, как вы примените эти два?
Можно создать дубликат:
What is the difference between const and readonly?разница между ReadOnly и Const?
являются эти взаимозаменяемы? можете ли вы показать мне код о том, как вы примените эти два?
Нет, они не являются.
A const
Поле - это буквальное значение, встроенное в сборку.
Только примитивные значения (строки и цифры) могут быть const
, и они оцениваются во время компиляции.
Когда вы ссылаетесь на поле const
, компилятор вводит буквальное значение поля. Поэтому, если использование использует const
из другой сборки, а другая сборка перекомпилируется с другим значением, ваша сборка будет использовать только новое значение, если вы перекомпилируете ее в новой версии.
readonly
поле представляет собой нормальное поле, которое не может быть изменен вне конструктора.
Почему это было приостановлено? – SLaks
ask eric! он тот человек! –
ответьте на этот вопрос: http://stackoverflow.com/questions/2624796/initialize-byte-array-from-a-portion-of-existing-byte-array-c –
Const не может выполнять оценки, тогда как readonly может при инициализации. (т. е. вы можете читать значение переменной readonly из файла конфигурации или на основе какого-либо другого параметра, который известен во время выполнения, константа может быть установлена только на то, что известно во время компиляции)
Член любого типа может быть readonly
. Это просто означает, что член не может быть переназначен после построения содержащего класса; то есть он не может быть установлен на новый объект с оператором =
. Переменные классы, такие как коллекции, все еще могут быть изменены в отношении их членов; это просто, если у вас есть член readonly
, который является коллекцией, он не может быть привязан к совершенно новой коллекции после построения.
const
не так уж отличается от буквального (как 5
): она представляет неизменного значения и, таким образом, только на самом деле имеет смысл в контексте задания значение (в отличие от объекта).
Дубликат http://stackoverflow.com/questions/55984/what-is-the-difference-between-const-and-readonly –
И http://stackoverflow.com/questions/755685/c-static- readonly-vs-const –
И http://stackoverflow.com/questions/555534/when-if-ever-should-we-use-const –