In .NET, what is the difference between
"", and are they interchangable, or is there some underlying reference or Localization issues around equality that
String.Empty will ensure are not a problem?
In .NET prior to version 2.0,
"" creates an object while
string.Empty creates no objectref, which makes
string.Empty more efficient.
In version 2.0 and later of .NET, all occurrences of
"" refer to the same string literal, which means
"" is equivalent to
.Empty, but still not as fast as
.Length == 0.
.Length == 0 is the fastest option, but
.Empty makes for slightly cleaner code.