2012-12-02 6 views
16

Ich habe den Tag der Woche in einer Datenbank gespeichert, wobei Sonntag = 1, Montag = 2 usw.Ist der numerische Wert von DayOfWeek sicher anzunehmen?

In einer Abfrage aus der Datenbank, ich brauche den Tag System.DayOfWeek zu konvertieren.

Nach MSDN:

Der Wert der Konstanten in dieser Aufzählung reicht von DayOfWeek.Sunday zu DayOfWeek.Saturday. Bei einer Umwandlung in eine ganze Zahl reicht der Wert von null (was DayOfWeek.Sunday angibt) bis sechs (was auf DayOfWeek.Saturday hinweist).

Das bedeutet, dass, nachdem ich die Daten abfragen, ich brauche 1 zu subtrahieren, bevor ich das Ergebnis zu DayOfWeek konvertieren.

Ist das sicher?
Oder muss ich mir Sorgen machen, dass sich die numerischen Werte von DayOfWeek ändern?

+1

Ja, wenn es als 'seinen Wert im Bereich von Null dokumentiert –

Antwort

33

Ja, dieser Safe, Sie sollten sich keine Sorgen über die Werte ändern. Hier ist, wie die Enum definiert:

public enum DayOfWeek 
{ 
    Sunday = 0, 
    Monday = 1, 
    Tuesday = 2, 
    Wednesday = 3, 
    Thursday = 4, 
    Friday = 5, 
    Saturday = 6 
} 

Wenn diese Werte in der BCL ändern, eine Hölle viel einen Code brechen.

+12

six' Es tut mir leid , aber bin ich der Einzige, der völlig perplex ist, dass diese in alphabetischer Reihenfolge statt numerisch und/oder ab Beginn der Woche (Sonntag oder Montag) geschrieben wurden? –

+2

Ich habe dich fast abgelehnt, Darin, du hast mich zum Nachdenken gebracht und es hat meinem Gehirn wehgetan. Nächstes Mal, warum listen Sie sie nicht in einer richtigen Reihenfolge auf, die Sie Monster! :) –

1

Ja immer sicher, können Sie zurückgehen und Front:

return DateTime.Today.AddDays(-1); 

und

return DateTime.Today.AddDays(1); 
Verwandte Themen