Страницы

Поиск по вопросам

четверг, 28 ноября 2019 г.

Применение string.Empty

#c_sharp


Зачем применять string.Empty, или в чем его отличие от ""? И в том, и в другом случаях
результат - пустая строка.

Например:

textBox1.Text = string.Empty;
textBox1.Text = "";


На MSDN про первый вариант сказано :


  Значением данного поля является строка нулевой длины, "". 


Т.е. то же самое "".
Насколько знаю, Empty используется только со строками, и полностью повторяет "",
но ведь зачем-то его в язык ввели. Кто знает зачем?
    


Ответы

Ответ 1



В .NET2.0+ нет разницы (в плане оптимизации) какой вариант использовать для присваивания и сравнения. Какой считаете более уместным, тот и используйте. Однако так как string.Empty - это readonly-поле, а "" - это константа, то в некоторых ситуациях можно использовать только "": В качестве значения по умолчанию параметра метода: void Method(string value = string.Empty) { } приводит к Error: Default parameter value for 'value' must be a compile-time constant В case в switch: string str = ""; switch (str) { case string.Empty: break; } Error: A constant value is expected. В параметрах атрибута: [XmlRoot(string.Empty)] Error: An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type На базе этого и этого ответов.

Комментариев нет:

Отправить комментарий