Sollte ich eine Guid und Guid.Leer oder eine null-Guid?
Ich bestimmte Szenarien (z.B. eine benutzerdefinierte Klasse zu halten, Sql-Parameter), in denen eine variable kann oder kann nicht verlangt werden. Traditionell habe ich immer diese definiert sein Typ Guid?
und verwendet myGuid.HasValue
zu überprüfen, ob ein Gültiger Wert vor der Verwendung.
Natürlich in der Praxis könnte ich auch gebrauchen regelmäßig Guid
s und führen Sie die Prüfung für gültige Wert wird mit myGuid == Guid.Empty
.
Zur besseren Lesbarkeit bevorzuge ich die erste Benutzung, wie es sich anfühlt Reiniger, aber ich würde es schätzen, wenn jemand beraten könnte, ob eine dieser Methoden ist besser (schneller, schneller und richtiger) als die anderen?
Nicht nie, aber zum Beispiel ein Objekt mit einer
Guid
als ein id-Feld würde nicht dieses Feld aufgefüllt, bis es wurde beibehalten, um eine Datenbank.InformationsquelleAutor indra | 2013-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn der parameter null sein kann, auf dem T-Sql-Seite, dann denke ich
Guid?
ist ein mehr natürlichen passen. Vor allem, wenn verwendet mit ADO.NET parametrisierte Abfragen auf null festlegbaren Typen sind bequem übersetztDBNull.Value
wenn Ihr Wertnull
. Wenn Sie aufGuid.Empty
zu zeigen null, dann würden Sie brauchen, um zu überprüfen, dass die Bedingung explizit übergebenDBNull.Value
den Befehl/query. E. g.:vs.
Gibt es praktisch keine performance-Unterschied zwischen den beiden alternativen, sonst.
InformationsquelleAutor Eren Ersönmez
Ich denke, der Ansatz mit
Guid?
viel besser. Es ist nur ein Zufall, dass ein default-Wert vonGuid
whuch ist gleichGuid.Empty
hat keine wirkliche Auslastung, und können so behandelt werden, alsnull
Wert. Zum Beispielint
oderbool
default-Werte verwendet werden, ohne Unterscheidung mit anderen Werten.Also, IMHO, sollten Sie
Guid?
zu bleiben konsistent.InformationsquelleAutor Oleksandr Kobylianskyi
Normalerweise verwende ich die Deklaration wie die folgende:
Es funktioniert perfekt, entweder mit oder ohne NULL-Wert.
InformationsquelleAutor Straad