Это одно и то же:
IEnumerable<string> i;
i = Enumerable.Empty<string>();
i = new string[0];
Итак, что использовать?
Я думаю, что первое сообщение намерено более четко, но оно больше и немного шумнее, не говоря уже о уродливости в отладчике. Второй также более эффективен в памяти и процессоре, если я правильно читаю Reflector.
Я склоняюсь к new type[0]
, но хочу знать, что вы все думаете.