¿Cómo está la memoria asignada cuando uso:asignación de memoria para const en C#
public class MyClass
{
public const string myEVENT = "Event";
//Other code
}
¿Cómo está la memoria asignada cuando uso:asignación de memoria para const en C#
public class MyClass
{
public const string myEVENT = "Event";
//Other code
}
Bueno, es una constante en tiempo de compilación - por lo que si lo usa de otros montajes, "Evento" se copiará en el IL para esas otras asambleas. Si eso se interpone en el ensamblaje cruzado o no depende de un ajuste CLR IIRC.
Sin embargo, si usted está preocupado acerca de si usted obtendrá una nueva cadena o una nueva variable de cadena para cada instancia de MyClass
, usted no tiene que preocuparse - const
implica static
.
En resumen, a menos que tenga enormes, enormes fajos de constantes (o enormes constantes de cadena) no le causará problemas.
Creo que esta página de Wikipedia para [Oxymoron] (http://en.wikipedia.org/wiki/Oxymoron) debería señalar aquí ... (Jon usa IIRC ... es como Chuck Norris preguntándose si puede conseguir fuera de la cama. Mire [aquí] (http://meta.stackexchange.com/a/9182/237379) para conocer otros hechos de Jon ... :) – Noctis
Hola @Jon Skeet, - "const implica estática." significa conatant por defecto, se generará una única copia estática de la variable constante para diferentes objetos. ? – vimalraturi
@vimalraturi: Significa que hay un solo campo independientemente del número de instancias, incluso si no hay ninguno. –