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