Есть ли причина для инициализации строки в C#?

Возможный дубликат:
В чем разница между String.Empty и ""
В C# я должен использовать string.Empty или String.Empty или ""?
Инициализация строки по умолчанию: NULL или Пусто?

Я хотел бы знать, если есть интерес для инициализации строки?

String value1 = String.Empty;

РЕДАКТИРОВАТЬ: Мой вопрос больше Почему я должен инициализировать строки, чем выбор между "" или строка. Пусто

3 ответа

Решение

Предполагая, что вопрос означает "Почему вы должны инициализировать строки", а не "Какой метод лучше всего подходит для инициализации строк" ​​...

Да, это хорошая идея инициализировать строки, чтобы минимизировать вероятность исключений нулевой ссылки в вашем коде. Легко создать путь к коду, где строка никогда не устанавливается, и когда вы вызываете метод для этой строки, это приведет к ошибке.

IMO, используйте string.Empty, так как это увеличивает читабельность кода. Сканеры стилей кода, такие как Gendarme и FxCop, будут отмечать использование "" в отличие от передового опыта.

Редактировать: Удалена реклама об использовании памяти, которая была неправильной.

Учитывая, что между пустой строкой и пустой строкой есть существенная разница, я думаю, что ответ "это зависит". Если ваш код не используется для нулевого значения, и вы хотите иметь возможность писать код, ссылающийся на переменную, предполагая, что значение не является нулевым, имеет смысл инициализировать. Но могут быть случаи, когда null допустим и полезен, и инициализация не имеет смысла. Например, если строка содержит значение, полученное от некоторого тестового оборудования, null может указывать, что никакого значения не было получено, тогда как "" сообщает, что что-то было получено, и это оказалось пустой строкой.

Другие вопросы по тегам