#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 На базе этого и этого ответов.
Комментариев нет:
Отправить комментарий