Ich habe meine Zeichenfolgen immer mit NULL initialisiert, mit dem Gedanken, dass NULL das Fehlen eines Werts bedeutet und "" oder String.Empty ein gültiger Wert ist. Ich habe in letzter Zeit weitere Beispiele für Code gesehen, bei denen String.Empty als Standardwert betrachtet wird oder keinen Wert darstellt. Das kommt mir seltsam vor. Bei den neu hinzugefügten nullbaren Typen in c # scheinen wir mit Strings rückwärts zu gehen, indem wir nicht NULL verwenden, um 'No Value' darzustellen.
Was verwenden Sie als Standardinitialisierer und warum?
Edit: Basierend auf den Antworten führe ich meine weiteren Gedanken weiter
Fehlerbehandlung vermeiden Wenn der Wert nicht null sein sollte, warum wurde er überhaupt gesetzt
NULL
? Vielleicht ist es besser, den Fehler an der Stelle zu identifizieren, an der er auftritt, als ihn im Rest Ihrer Codebasis zu vertuschen?Vermeiden von Nullprüfungen Wenn Sie es satt haben, Nullprüfungen im Code durchzuführen, ist es nicht besser, die Nullprüfungen zu abstrahieren? Vielleicht die String-Methoden umbrechen (oder erweitern!), Um sie
NULL
sicher zu machen ? Was passiert, wenn Sie ständig verwendenString.Empty
und eine Null in Ihr SystemNULL
eingeht? Fügen Sie trotzdem Schecks hinzu?
Ich kann nicht anders, als zu der Meinung zurückzukehren, dass es Faulheit ist. Jeder DBA würde Sie auf neun Arten dumm machen, wenn Sie '' statt null
in seiner Datenbank verwenden würden. Ich denke, die gleichen Prinzipien gelten für die Programmierung, und es sollte jemanden geben, der diejenigen auf den Kopf schlägt, die verwenden, String.Empty
anstatt NULL
keinen Wert darzustellen.
Verwandte Fragen