Можно создать дубликат:
In C#, should I use string.Empty or String.Empty or “” ?C# оптимизации возвращающего пустой строки
это лучше
return string.Empty;
вместо
return "";
Как вы думаете?
Можно создать дубликат:
In C#, should I use string.Empty or String.Empty or “” ?C# оптимизации возвращающего пустой строки
это лучше
return string.Empty;
вместо
return "";
Как вы думаете?
Эти два точно идентичны после компиляции. Я нахожу string.Empty
более удобочитаемым. Насколько нам известно, ""
действительно должно иметь что-то внутри, и это просто опечатка.
После того как компилятор завершит работу с этим кодом, код IL/machine для обоих фрагментов будет идентичным.
Я стараюсь использовать string.Empty
, когда пустая строка является важной частью алгоритма. Я обычно использую ""
для значений, которые могут быть чем угодно, но на данный момент это просто пустая строка. Другими словами, используйте ту, которая связывает намерение выражения.
Согласно this MSDN blog poststring.Empty
более эффективен, так как он не будет производить новый объект.
Here - дополнительная информация, включая краткое сравнение производительности.
Да, но это до .NET 2.0: http://stackoverflow.com/questions/151472/what-is-the-difference-between-string-empty-and ;-) –
Неправильное сообщение в блоге. Строковый литерал создается только один раз, когда сборка загружается (как и строковый объект для свойства String.Empty), выполнение кода, использующего строковый литерал, не создает объект. – Guffa
Кроме того, сложнее определить опечатку типа «», когда вы действительно имели в виду пустую строку «». – Guffa