Что стоит предпочесть в C#: readonly или const

Const выигрывает в производительности, readonly более гибок. Если нет чёткого понимания насколько нужен небольшой прирост производительности, который даёт const или нет других явных причин его использовать, то следует предпочитать readonly.

Основные преимущества readonly:

  1. readonly это рантайм константа, она не подставляется при компиляции.
  2. readonly можно инициализировать используя оператор new.
  3. readonly не ограничена только числами и строковыми значениями
  4. Если вы меняете значение readonly в одной сборке, она будет изменена во всех местах где вы её используете. В случае с const вам нужно пересобирать все сборки, иначе значение не изменится.

const должно предпочитаться:

  1. если значение должно быть доступно во время компилирования: например, если оно используется в аттрибутах или enum .

 

About

Leave a Reply

Your email address will not be published. Required fields are marked *