Я полагаю, что есть две причины: одна для удобства чтения, а вторая - для незначительного повышения производительности.
Читаемость проста: намного быстрее определить, string.Empty
чем ""
. В поискахstring.Empty
также, как правило, будет проще и точнее, чем поиск буквального. Это также проясняет намерение: вы не просто сделали опечатку или забыли что-то закончить, вы действительно хотели пустую строку.
Причиной производительности является интернирование . Видите ли, среда выполнения хранит таблицу ранее использованных строк, так что она может быстро выполнять сравнение строк без фактической посимвольной проверки. string.Empty
это уже интернированная ссылка на ""
где-как набор литерала может не дать вам интернированную версию, что приведет к небольшому снижению производительности.
""
но неstring.Empty