【发布时间】:2013-03-06 01:37:06
【问题描述】:
类级字符串常量与方法级字符串常量之间是否存在显着差异。编译器会识别常量并应用常量折叠吗?还是总是会创建 nw 对象?
这里是示例:类级常量
class A
{
private const string Sid = "sid";
private const string Pid = "pid";
public void Do()
{
Console.WriteLine(Sid);
Console.WriteLine(Pid);
}
}
方法级常量:
class B
{
public void Do()
{
const string Sid = "sid";
const string Pid = "pid";
Console.WriteLine(Sid);
Console.WriteLine(Pid);
}
}
【问题讨论】:
-
“编译器会识别常量并内联它们吗?”在这种情况下什么是内联?
-
对不起,我的意思是常量折叠,所以每次方法访问时都不会删除和创建对象。
-
Const是一个静态变量,所以是的,它不会每次都创建。