Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Visual C# 2011 Grundkurs

Daten konvertieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn man Daten eines Datentyps in einen anderen umwandeln muss, gilt es, verschiedene Punkte zu beachten. Der Film verrät mehr über Konvertierung und zeigt, wie sie in C# funktioniert und was es dabei zu beachten gibt.
05:46

Transkript

In diesem Video schauen wir uns noch einmal an, was wir machen müssen, wenn wir Daten von einem Datentyp in einen anderen Datentyp konvertieren wollen. Wenn man Daten in seinem Programm hat, wird man später vielleicht irgendwann einmal in die Situation kommen, dass man Daten in einem bestimmten Format hat und sie aber in ein anderes Format umwandeln möchte. Z.B., wenn ich eine Ganzzahl habe, dann möchte ich die z.B. in einer Rechnung zusammen mit einer Kommazahl benutzen. Oder ich habe eine Kommazahl und möchte die als Ganzzahl nutzen. Oder ich habe z.B. einen String - hier unten in dem Beispiel ist es der String "fünf" - und ich möchte mit diesem String "fünf" evtl. eine Rechnung durchführen, dann muss er eine Zahl sein. Das nennt man Datenkonvertierung. Also dass ich einen Quell-Datentyp habe und den in einen Ziel-Datentyp umwandle. Es gibt jetzt bei dem Konvertieren zwei Arten von Konvertierung. Zunächst die verlustlose Konvertierung. D.h., wenn ich den einen Datentyp in den anderen umwandle, dann habe ich keinen Verlust dabei. Hier z.B. ist es die Ganzzahl 5 in eine Kommazahl umzuwandeln. Ist überhaupt kein Problem, ich hänge einfach ein ,0 dahinter und fertig. Ich habe immer noch den selben Wert, wie den, den ich vorher hatte. Dann gibt es die verlustbehaftete Konvertierung. Bei der verlustbehafteten Konvertierung habe ich eben einen Verlust meiner Daten. Ich habe z.B. die Zahl 3,41 und die wandle ich in eine Ganzzahl um. Ganzzahl hat keine Kommastellen, d.h., dass der Komma-Anteil hinten einfach weggeschnitten wird. Aus der 3,41 wird eine 3. Das ist eben -- manchmal ist es gewünscht, aber manchmal ist es eben auch nicht gewünscht. Diese verlustlose Konvertierung geschieht automatisch, d.h. implizit. Implizit heißt, dass, wenn ich hier unten diese Ganzzahl 3 habe, also eine Integer-Variable 3 habe, und die einer Kommazahl zuweise, dann funktioniert das ohne dass ich noch irgendetwas dabei machen muss, also implizit. Im Gegenteil dazu, bei der verlustbehafteten Konvertierung muss ich das Ganze explizit machen. D.h., wenn ich hier unten eine Kommazahl habe, die den Datentyp "double" hat, den Wert 3,41, und ich möchte diese Kommazahl jetzt in eine Integer-Variable umwandeln, dann muss ich bei der Zuweisung von Komma zu Ganz explizit in diesen runden Klammern schreiben, dass er diesen Datentyp "double" in den Datentyp "int" umwandeln soll. Und dabei werden eben die Nachkommastellen abgeschnitten. Ein Sonderfall ist noch die Konvertierung von Strings. Wir hatten es eben schon an dem Beispiel gesehen, wenn ich z.B. den String "fünf" in eine Zahl umwandeln muss, dann geht das nicht ohne Weiteres, indem ich einfach davor schreibe, z.B. "int", wie wir das gerade gesehen haben. Bei Strings ist das ein bisschen anders. Man benutzt dazu von der Klasse "Convert" die Methoden "To" und dann der Ziel-Datentyp. In diesem Beispiel hier haben wir eine Variable String-Zahl, die hat den Wert 5, also die Zeichenkette "fünf". Und unten benutzen wir von der Klasse "Convert" die Methode "To int32". Also diesen int-Datentyp, den wir da benutzen wollen, der nennt sich "int32". Und als Parameter für diesen Methoden-Aufruf "To int32" übergeben wir eben diesen String mit der Zahl drin. Diese Methode "To int32" nimmt jetzt diese String-Zahl, wandelt die um in ein Integer, und dann schreiben wir den in unsere Variable rein. Und das ist alles. Das Ganze schauen wir uns jetzt mal in Visual Studio an. Als Erstes schauen wir uns die verlustlose Konvertierung an, bei der verlustlosen Konvertierung habe ich einen Integer-Datentyp, die Zahl 1 zum Beispiel mit dem Wert 5. Und dem weise ich jetzt einfach mal einen Double-Datentyp zu, und dann erhalte ich keinen Fehler. Und das kann ich so einfach machen, eben weil ich bei diesem Konvertierungsvorgang hier keinerlei Daten verliere. Ich hänge einfach an meine ganze Zahl hinten Nachkommastellen dran mit 0. Also ändere ich an dem Wert nichts, ich verliere also keine Daten. Bei der verlustbehafteten Konvertierung ist das ein bisschen anders. Bei der verlustbehafteten Konvertierung - nehmen wir mal eine neue Double-Variable und speichern dort die 3,41 drin. Wenn ich jetzt eine Integer-Zahl habe und weise dem diese Double-Zahl zu, dann bekomme ich vom Compiler bzw. vom  Visual Studio hier einen Fehler angezeigt. Der Typ "double" kann nicht implizit in "int" konvertiert werden. An dieser Stelle hier verliere ich Daten, nämlich die Nachkommastellen. Und da muss ich explizit hier vorne hingehen und sagen, du wirst jetzt in einen Integer-Datentyp umgewandelt. Und dann geht das Ganze. Etwas anders sieht das Ganze aus, wenn wir einen String haben. Ein String - wir nennen das mal String "Zahl" - hat z.B. den Wert 25. Und wenn er den Wert 25 hat, können wir damit nicht rechnen, weil es eben ein String ist. Wenn ich jetzt hier unten das Ganze in eine Zahl umgewandelt haben möchte - ich nenne das mal die Zahl 3 - dann muss ich von der Klasse "Convert" die Methode "To int32" benutzen. Man sieht, hier gibt es mehrere: "To int32" wandelt das Ganze in einen normalen "int" um, und "To int64" in einen "long". Wir haben hier einen "int", also nehmen wir "int32", geben diese String-Zahl an, und wenn wir die String-Zahl angegeben haben, können wir hier nachher unseren Wert 25 als String als Zahl nutzen. Wir schauen uns das Ganze einmal im Debugger an. Ich setze einen Breakpoint, kompiliere das Programm. Wir sehen zunächst hier oben unsere Zahl 5. Nachdem wir das umgewandelt haben wird daraus eine 5,0; also nichts davon ist verloren. Hier oben haben wir eine 3,41. Nachdem wir daraus ein "int" gemacht haben, haben wir nur noch eine 3. Dann haben wir unsere String-Zahl, also den String "fünfundzwanzig", konvertieren den hier mit "Convert to int32", und hier habe ich dann 25 als Zahl. Wir haben in diesem Video gesehen, wie man Daten von einem Format in das andere Format umwandeln kann. Dabei gibt es zwei Methoden: Einmal die implizite und die explizite Konvertierung. Die implizite Konvertierung kann ich immer dann benutzen, wenn ich keinerlei von den Daten verliere, z.B. wenn ich ein "int" in ein "double" umwandle. Die explizite Konvertierung nutzt man immer dann, wenn man Genauigkeit verliert, d.h. wenn ich aus den 3,41, was wir dort hatten, später eine 3 mache. Deshalb muss ich bei der expliziten Konvertierung explizit vorne angeben, dass dieser Datentyp z.B. - in unserem Beispiel - in einen "int" umgewandelt wird. Wenn ich Strings umwandeln möchte, in z.B. einen Integer, dann kann ich das mit den Methoden der Klasse "Convert" machen. Und mit z.B. "Convert to int32" kann ich dann einen String in einen Integer umwandeln.

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!