Const vs. static readonly
Возможный дубликат:
В чем разница между константой и readonly?
Итак, из того, что я прочитал, в С#, const
и static readonly
оба значения будут неизменными во время выполнения программы.
Однако const
следует использовать с величинами, которые вряд ли когда-либо будут изменяться (например, pi, радиус земли, литры на галлон и т.д.).
С другой стороны, static readonly
следует использовать со значениями, которые в настоящее время являются постоянными, но могут/будут изменяться в будущем (например, версия программного обеспечения, множитель в алгоритме и т.д.).
Я правильно понял?
Ответы
Ответ 1
Я не знаю о вашем втором элементе (я бы, вероятно, использовал константу для версии программного обеспечения или алгоритма... константа), но есть одно ключевое различие между ними: const
может содержать только основные типы, такие как string
, bool
или числовые типы. static readonly
может содержать любой объект. Так, например, я часто использую static readonly
для хранения ресурсов типа Bitmap
объектов. Они не могут быть const
.