Зачем применять string.Empty, или в чем его отличие от ""? И в том, и в другом случаях результат - пустая строка.
Например:
textBox1.Text = string.Empty;
textBox1.Text = "";
На MSDN про первый вариант сказано :
Значением данного поля является строка нулевой длины, "".
Т.е. то же самое ""
Насколько знаю, Empty используется только со строками, и полностью повторяет "", но ведь зачем-то его в язык ввели. Кто знает зачем?
Ответ
В .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
На базе этого и этого ответов.
Комментариев нет:
Отправить комментарий