对于方法中定义的常量,内存是什么?

时间:2011-06-12 04:04:54

标签: c# .net methods

有人可以描述当在.Net中的方法中定义常量时会发生什么(从内存管理的角度来看)?

2 个答案:

答案 0 :(得分:7)

常量通常在编译时解析并直接插入到指令序列中。例如:

const int A = 10;
int b;

int i = A + b;

将有效地编译成:

int i = 10 + b;

对于字符串,它们被实习并放在堆上。

答案 1 :(得分:1)

当编译器在C#源代码中遇到常量标识符时,它将文字值直接替换为它生成的中间语言(IL)代码,因为在运行时没有与常量关联的变量地址,const字段不能通过引用,不能在表达式中显示为l值。有关详细信息,请查看Msdn。上的Constants