クラスレベルの文字列定数とメソッドレベルの文字列定数の間に大きな違いはありますか?コンパイラは定数を認識し、定数畳み込みを適用しますか?または、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);
}
}