C# 方法中定义的常量的内存是多少?
我可以从内存管理的角度描述在中的方法中定义常量时会发生什么。Net?常量通常在编译时解析并直接插入指令序列。例如:C# 方法中定义的常量的内存是多少?,c#,.net,methods,C#,.net,Methods,我可以从内存管理的角度描述在中的方法中定义常量时会发生什么。Net?常量通常在编译时解析并直接插入指令序列。例如: const int A = 10; int b; int i = A + b; 将有效地汇编为: int i = 10 + b; 对于字符串,它们被插入堆中。当编译器在C#源代码中遇到常量标识符时,它会将文本值直接替换到中间语言(IL)中由于在运行时没有与常量关联的变量地址而生成的代码。常量字段不能通过引用传递,也不能在表达式中显示为l值。要了解更多信息,您可以查看Msdn。
const int A = 10;
int b;
int i = A + b;
将有效地汇编为:
int i = 10 + b;
对于字符串,它们被插入堆中。当编译器在C#源代码中遇到常量标识符时,它会将文本值直接替换到中间语言(IL)中由于在运行时没有与常量关联的变量地址而生成的代码。常量字段不能通过引用传递,也不能在表达式中显示为l值。要了解更多信息,您可以查看Msdn。在运行时,它们存储在堆内存中,因为它们在执行过程中一直存在,不会被垃圾收集。