使用以下代码时,内存是如何分配的:
public class MyClass
{
public const string myEVENT = "Event";
//Other code
}
使用以下代码时,内存是如何分配的:
public class MyClass
{
public const string myEVENT = "Event";
//Other code
}
这是一个编译时常量,因此如果您从其他程序集中使用它,“Event”将被复制到这些其他程序集的IL中。 它是否跨程序集进行内部处理取决于CLR设置。
但是,如果您担心每个MyClass
实例都会获得一个新字符串或新字符串变量,那么您不需要担心-const
意味着static
。
总之,除非您有巨大的(巨大的)常量堆(或巨大的字符串常量),否则不会对您造成问题。