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 Basic Grundkurs

Typkonvertierung und Datentypen zum Zweiten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Dieses Video wirft einen genaueren Blick auf die Datentypen in VB.NET und in der CLR und betrachtet die Möglichkeiten zur Typkonvertierung, dem sogenannten Casting, in VB.NET.
08:07

Transkript

Im Fokus von diesem Video steht die sogenannte Typkonvertierung. Und das geht damit einher, dass wir uns mit den Datentypen unter VB.NET etwas genauer beschaftigen. Sie sehen hier, dass man auf den offiziellen Hilfeseiten von Microsoft, den Entwicklerseiten, eine Liste sämtlicher Datentypen bekommt, die unter Visual Basic zur Verfügung stehen. Diese Common Language Runtime ist die Basis, die fur alle Sprachen in .NET Framework einheitlich sind. Das heißt, auch wenn eine spezifische Sprache, wie VB.NET einen Datentypen hat, wie, sagen wir hier mal, Integer, dann liegt darunter ein moglicherweise andere Datentyp der CLR-Typstruktur. Das wird aber von Framework so gemanagt, dass das vernünftig funktioniert. Sie müssen sich hier ein paar Gedanken machen, wenn Sie mit verschiedenen Sprachen im .NET Framework arbeiten. In wie weit ein Austausch zwischen den verschiedenen Welten funktioniert. Im Grunde konnen Sie nur die Datentypen dann vernünftig austauschen, die in dieser Common Language Runtime definiert sind. Aber das betrifft Sie uberhaupt nicht, wenn Sie mit reinem VB.NET arbeiten. Der Fokus von diesem Training ist, wie gesagt, die Typkovertierung. Aber bevor wir Typen konvertieren konnen, sollten wir mal genauer anschauen, was fur Typen es uberhaupt hier gibt unter Visual Basic. Boolean ist ein Wahrheitswert, der kann True oder False sein. Ein "Byte"-Datentyp erstreckt sich von 0 bis 255 ohne Vorzeichen. 1 Byte kann man zwei hoch acht Werte unterbringen, denn ein Byte besteht aus acht Bit, also 0 und 1 sind 2 Werte, und zwei hoch acht gibt 256, also von 0 bis 255. Ein Character ist ein einzelnes Zeichen, das wird in 2 Byte gespeichert. 2 Byte, weil wir mit Unicode-Strukturen arbeiten und die werden nicht in 1 Byte, sondern in 2 Byte gespeichert. Dann gibt es noch einen Datumstyp, ein Decimaltyp mit 16 Byte, sehr groß. Ein Double, das ist ein Gleitkommatyp fur Kommazahlen mit sehr großem Wertebereich. Ein Interger ist 4 Byte groß, also für relativ große ganze Zahlen. Long ist 8 Byte, demensprechend noch viel großere Zahlen. Dann gibt es noch ein Object, das ist ein Pointer auf ein Objekt. Ein Zeiger auf irgendein Objekt. Und dann gibt es noch hier spezielle Geschichten, wie SByte, in dem Moment werden Wertebereiche verschoben, entweder mit oder ohne Vorzeichen. Wichtig ist noch ein String und die anderen will ich jetzt gar nicht so explizit alle ansprechen. Grundsätzlich haben Sie diese Datentypen zur Verfugung und Sie sollten sie auch bei der Deklaration einer Variable auf jeden Fall mit "As" angeben. Kommen wir zu dem Thema der Typkovertierung. Ich habe hier ein kleines Programm, was ein Problem beinhaltet. Wir haben hier eine Variable z1 vom Typ "Byte" und eine Variable z2 von Typ "Short". In der Short-Variable kann ich den Wert 256 unterbringen. In der Variable z1 nicht, weil der Wertebereich nur bis 255 geht. Ich habe "Option Strict" aktiviert und dementsprechend merkt das Visual Studio dieses Problem auch schon beim Coding. Würde ich das nicht machen, würde es spätestens zur Laufzeit ein Problem geben. Wie kann ich jetzt dafür sorgen, dass diese Variable z2 trotzdem auf z1 passt. Das geht uber sogenannte Typkonvertierung. Es gibt eine Funktion "CByte", um damit eine Typkonvertierung durchzufuhren. Und wenn es ein CByte gibt, gibt es auch ein CShort, ein CInteger und so weiter, und so weiter. Also alles, was wir als Datentypen gerade gesehen haben. Dafur gibt es Konvertierung, C steht fur Convert, Konvertierungsfunktionen, Konvertierungsmethoden genauer genommen, die ein Datentyp in ein anderen konvertieren. Man nennt dieses Mechanismus auch Casting. Interessant ist, was jetzt passiert. Es wird ein arithmetischer Uberlauf erzeugt. Obwohl ich hier eine sogenannte explizite Typkonvertierung vorgenommen habe, passt der Wertebereich natürlich immer noch nicht. Ich habe sozusagen den Schutzmechanismus, den mir Option Strict bietet, damit ausgeschaltet, aber ich kann immer noch nicht die Wertebereiche sprengen, auch wenn ich hier eine Typkonvertierung vornehme. Hat also diese Typkonvertierung überhaupt einen Sinn? Natürlich. Wenn man vernünftige Dinge macht. Ich werde mal zu meiner Projektmappe jetzt ein neues Projekt hinzufügen. Das kann ich machen, indem ich sie anklicke, Hinzufugen Neues Projekt. Das soll jetzt eine Windows Form-Anwendung werden und die soll heißen "Typkovertierung2". Ich mache die dann auch gleich als Startprojekt. Das macht man so, indem man mit der rechten Maustaste hier hinklickt und dann das Startprojekt festlegt. Ich mochte hier zwei TextBoxen haben, ganz schnell mal hingeklickt, ohne groß sich Gedanken gemacht, wo die so sitzen. Ich mochte hier ein Label haben. Erst hoch...passt schon so halbwegs. Und ich mochte ein Button haben und auch der soll so halbwegs passen. Meine Intension ist jetzt, dass ich die Werte, die in den beiden Textfeldern eingegeben werden, addiere. Geht ganz einfach, ich spreche die Textfelder an über ihre Variablennamen, über die Namen der Objekte und schreibe dann das Label über Label1. "TextBox1.Text + TextBox2.Text". Lassen wir das mal laufen. Also, ich habe eine 2, ich habe eine 3, Nanu, 2 + 3 = 23? Nicht so, wie Sie erwartet haben, wahrscheinlich. Was ist passiert? Der Plusoperator ist polymorph. Sagt Ihnen das was? Na ja, er ist vielgestaltig. Das heißt, in dem Moment, wo ich ihn auf Strings anwende, denn wir haben hier Texte vorliegen, dann ist es die sogenannte String-Verkettung. Das bedeutet nichts anderes, als dass die Ketten hintereinander gehängt werden. Wenn ich da Müller + Meier eingebe, dann kommt Müller-Meier raus. Aber ich mochte ja hier mathematisch addieren. Ich muss also dafür sorgen, dass hier der mathematische Operator, die Addition benutzt wird. Und das kann ich dann erreichen, indem ich sage: das Ding hier soll, zum Beispiel, in ein Int gewandelt werden und das hier auch und dann addiere ich diese beiden Werte. Schauen wir mal an, was jetzt passiert. 2, 3 und ich habe die 5. Das heißt, in dieser Situation hat das Casting, die Typumwandlung funktioniert und sie war sinnvoll. Ich habe ein Datentyp String, aber zu dem Zeitpunkt, wie ich ihn verwenden möchte, will ich ihn als Zahl verstehen. Und dann kann ich eben mit diesen Konvertierungsmethoden diese Typen ineinander umwandeln. Passen Sie auf, dass das nicht das Problem löst. Wenn ich jetzt hier "Müller" und "Meier" reinschreibe, denn dann wird diese Typkonvertierung schief gehen und Sie haben wieder eines dieser Probleme, wenn falsche Typen aufeinander geraten. Sie habe also in diesem Video gesehen in einem tieferen Blick, was fur Datentypen es unter VB.Net gibt und auch unter der zugrundeliegenden CLR. Und Sie kennen den Mechanismus der Typkonvertierung, der in VB.NET durch geeignete Methoden, wie CInt, CByte oder CShort durchgeführt wird.

Visual Basic Grundkurs

Entdecken Sie, wie eine der bekanntesten und verbreitetsten Programmiersprachen unter .NET funktioniert.

3 Std. 43 min (51 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:03.11.2014

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!