Я всегда инициализировал свои строки значением NULL, полагая, что NULL означает отсутствие значения, а "" или String.Empty является допустимым значением. В последнее время я видел больше примеров кода, где String.Empty считается значением по умолчанию или не представляет никакого значения. Это кажется мне странным: с новыми добавленными в C # типами, допускающими значение NULL, кажется, что мы делаем шаг назад со строками, не используя NULL для представления «Нет значения».
Что вы используете в качестве инициализатора по умолчанию и почему?
Изменить: на основе ответов я продолжаю свои дальнейшие мысли
Как избежать обработки ошибок Если значение не должно быть нулевым, почему оно было установлено
NULLв первую очередь? Может быть, было бы лучше идентифицировать ошибку в том месте, где она возникает, а не скрывать ее в остальной части вашей кодовой базы?Избегание нулевых проверок Если вы устали выполнять нулевые проверки в коде, не лучше ли абстрагироваться от нулевых проверок? Возможно, обернуть (или расширить!) Строковые методы, чтобы сделать их
NULLбезопасными? Что произойдет, если вы постоянно используете,String.Emptyа в вашу систему сработает нуль, вы все равно начнете добавлятьNULLпроверки?
Не могу не вернуться к мнению, что это лень. Любой администратор баз данных дал бы вам девять глупостей, если бы вы использовали '' вместо nullего \ ее базы данных. Я думаю, что те же принципы применимы и в программировании, и должен быть кто-то, кто ударил бы по голове тех, кто использует, String.Emptyа не NULLпредставляет никакой ценности.
Смежные вопросы