Visual C# 2011 Grundkurs

Die Klassen "DateTime" und "TimeSpan"

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Oft muss man in der Anwendung ein Datum und/oder eine Uhrzeit speichern. Hier lernen Sie die passende Datenstrukturen kennen und erfahren, wie man mit denen rechnen kann.
03:34

Transkript

Schauen wir uns jetzt mal an, was man in so einer Anwendung machen muss, um mit einem Datum und einer Uhrzeit zu rechnen und diese zu speichern. Wenn man das Ganze machen möchte, muss man natürlich keine neuen Datenstrukturen schreiben. Die sind selbstverständlich im .NET-Framework bereits enthalten.Die erste Datenstruktur, die wir uns dazu angucken möchten, ist die Datenstruktur "Daytime". Wir möchten uns an dieser Stelle die aktuelle Uhrzeit holen, und das machen wir mit dem Aufruf der Klasse "Daytime" und der statischen Property "Now". Also wird hier zur Ausführungszeit jetzt in "Now" die aktuelle Uhrzeit geschrieben. Aber natürlich habe ich auch die Möglichkeit, mit Hilfe von einem Constructor irgendein x-beliebiges Datum zu erstellen, z.B. meinen Geburtstag. Einfach noch mal den Constructor aufrufen, "New Daytime", da gibt es jetzt einige Überladungen. Für uns sicherlich interessant ist "Jahr, Monat, Tag" oder "Jahr, Monat, Tag, Stunde, Minute, Sekunde". Also legen wir jetzt hier mal mein Geburtsdatum an, das ist der 27.06.1984, und jetzt haben wir das Datum quasi erstellt. Wir setzen mal einen Breakpoint in diese Zeile, wir führen das Ganze aus, schauen uns den Inhalt vom "B-day"  an. Und in diesem "B-day" steht jetzt quasi mein Geburtsdatum und noch diverse Details dazu. z.B., dass es ein Mittwoch war und dass es der 179. Tag im Jahr war. Das ist schon relativ nützlich, diese Daten zu speichern, aber sehr interessant wird es, wenn man anfängt, mit so einem Datum zu rechnen. Ich könnte an dieser Stelle z.B. sagen: "Ich möchte von dem aktuellen Datum mit Hilfe der Methode 'Substract' mein Geburtsdatum abziehen." Das heißt, ich würde also die Differenz zwischen meinem Geburtstag und heute berechnen. Wenn ich jetzt hier mit der Maus über "Substract" gehe, sieht man schon: Der Rückgabetyp dieser Methode ist ein "TimeSpan-Objekt". Das ist die zweite Datenstruktur, die wir uns angucken möchten. "TimeSpan" speichert immer einen Zeitunterschied, deswegen nennen wir die Variable mal "Diff" und speichern das. Wir führen das Ganze aus und schauen uns an, was hier in "Diff" steht. Und relativ interessant: Ich bin 9791 Tage alt, 20 Stunden und 51 Minuten, 51 Sekunden und 387 Millisekunden. Solche Rechnungen hier sind eher aus Spaß gemacht, aber gerade später im Entwickleralltag kommt man andauernd an irgendwelche Bereiche oder in irgendwelche Situationen, wo man eben mit so einem Datumstyp rechnen muss, und da bieten sich die Datenstrukturen "Daytime" und "TimeSpan" natürlich an. Ich habe jetzt die ganze Zeit explizit nicht gesagt "die Klassen", sondern "die Datenstrukturen", und das hat einen ganz besonderen Grund. Wenn ich hier mit der Maus über diese Namen gehe, sieht man schon: Da steht nicht "Class" "Daytime", sondern "Struct". Ein "Struct" ist so etwas ähnliches wie eine "Klasse", nur mit dem Unterschied, dass sie kein Referenztyp ist, wie es eine "Klasse" ist, sondern ein Wertetyp. Trotzdem werden sie ähnlich definiert, haben auch ähnliche Merkmale. Aber es ist eben kein Referenztyp, sondern ein Wertetyp. Heißt für uns: Wenn wir eine Methode aufrufen mit einem "Daytime" oder einem "TimeSpan- Objekt", rufen wir dieses per "Value" auf, nicht per "Reference". Das heißt, wenn wir innerhalb von dieser Methode anfangen, dieses Objekt zu ändern, heißt das nicht, dass wir das Ursprungsobjekt ändern. In keinem Fall, denn es ist ja nur eine Kopie. Da muss man immer drauf achten, wenn man mit den beiden Strukturen "Daytime" und "TimeSpan" arbeitet. Wir haben uns in diesem Video die beiden Datenstrukturen "Daytime" und "TimeSpan" angeguckt. Wir haben gesehen, dass wir damit zum einen sehr komfortabel ein Datum oder eine Uhrzeit, oder beides speichern können, und auf der anderen Seite sehr, sehr komfortabel mit diesen Zeiten und mit diesen Daten rechnen können. Zusätzlich haben wir uns die Datenstruktur "TimeSpan" angeguckt, mit der wir z.B. Zeitunterschiede zwischen zwei "Daytime"-Objekten speichern können. Wichtig bei beiden Datenstrukturen ist, dass es sich um "Strukturen" handelt und nicht um "Klassen". Das heißt, es sind Wertetypen, keine Referenztypen, was wiederum heißt, dass, wenn ich eine Methode übergebe, rufe ich sie nicht per "Reference" auf, sondern per "Value". Und wenn ich in der Methode das übergebene Objekt ändere, ändere ich damit nicht das Ursprungsobjekt.

Visual C# 2011 Grundkurs

Steigen Sie in die C#-Programmierung ein und lernen Sie sowohl die Grundlagen der Sprache C# als auch die Entwicklungsumgebung Visual Studio 2010 und .NET-Framework kennen.

7 Std. 28 min (81 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Visual Studio Visual Studio 2010
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.06.2011

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!