Interned string is nothing but a locked up version of a string, so that it can be shared.
Memory allocation can be avoided by using string.Empty.
string sFirstName = string.Empty;
The C# compiler is intelligent enough to generate code based on our declaration, if we declare a string object with either string.Empty it just refers to a shared empty string object. As we know string object are immutable(cannot be changed) once created so any assignment will not affect the shared string object.