Const
se hornea en el código del cliente. Readonly
no es. Pero const
es más rápido. Aunque puede ser solo un poco¿Cuándo, si alguna vez, debemos usar const?
La pregunta es, ¿alguna vez hay alguna situación en la que prefiera const
sobre readonly
? O para reformular, ¿no estamos prácticamente siempre mejor usando readonly
en lugar de const
(teniendo en cuenta lo dicho anteriormente para hornear)?
"Si hay alguna posibilidad de que deba cambiar el valor en futuras versiones, no use const". No estoy siguiendo tu lógica. Parte del punto de una constante es que puedes cambiarlo en una versión futura. – Powerlord
Si una constante es más pública que "interna" (o si solo es interna pero tiene InternalsVisibleTo), los compiladores de IL pueden copiar el valor constante en ensamblados de referencia. Esto significa que si envía una nueva versión y cambia la constante, ahora estará fuera de sincronización con sus consumidores. –
@AndrewArnott ¡Gracias por esa última aclaración, me atrevo a decir que es un punto bastante importante! – AgentKnopf