are there any significant difference between class-level string constants vs method level string constants. Will compiler recognize constants and apply constant folding? Or nw object always will be created?
Here is example: class-level consts
class A
{
private const string Sid = "sid";
private const string Pid = "pid";
public void Do()
{
Console.WriteLine(Sid);
Console.WriteLine(Pid);
}
}
Method-level constants:
class B
{
public void Do()
{
const string Sid = "sid";
const string Pid = "pid";
Console.WriteLine(Sid);
Console.WriteLine(Pid);
}
}
Constis a static variable, so yes, it won't be created every time.