Visual C# 2012 Grundkurs

Vordefinierte Typen

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
C# verfügt über etliche vordefinierte Typen. Dabei handelt es sich um Object, String, Char und mehrere numerische Typen. Der C#-Standard ECMA-334 enthält die gesamte Liste der vordefinierten Typen.

Transkript

In diesem Abschnitt möchten wir uns den in C# eingebauten Typen widmen. Sie sehen, ich habe ja hier eine Klasse "Mitarbeiter" definiert. Damit ist "Mitarbeiter" ein Typ, den man benutzen kann. Aber ich verwende hier die anderen Typen wie z.B. String, oder im Calculator vorhin, da habe ich einen Integer verwendet. Das sind Typen, die unterscheiden sich jetzt irgendwie so ein bisschen von diesen selbstdefinierten Typen. Die sind nämlich in C# quasi eingebaut. Die muss man nirgendwo definieren oder deklarieren oder sonst was. Die müssen auch nirgendwo herkommen. Die kommen aus keiner Bibliothek oder so, sondern die sind Bestandteile der Sprache. Jetzt ist natürlich die Frage: Was gibt es alles für Typen? Dafür habe ich jetzt eben mal den Standard geöffnet. Das ist Seite 40 des C#-Standards. Da ist beschrieben, eben welche Typen eingebaut sind. Da gibt es z.B. den ominösen Typen "Object", um den werden wir uns noch kümmern müssen. Hier sehen wir die Strings, also eine Zeichenfolge, und hier sieht man das einzelne Zeichen. Da sieht man im Übrigen, dass C# mit Unicode arbeitet. Also, alle Characters in C# sind Unicode-Characters, das sind eben diese 16-Bit-Zeichen, sodass sie also quasi Strings auch in Chinesisch schreiben können, wenn Sie Lust haben darauf. Und ich denke, die ganzen asiatischen Völker, die eben diese Schriften mit den sehr vielen Zeichen haben, die freuen sich darüber, dass Sie hier mit C# Unicode benutzen können. Und ich will auch gar nicht verheimlichen sozusagen, dass all diese Eigenschaften hier eigentlich gar nicht so sehr von C# kommen als vielmehr von der "Common Language Infrastructure". Also, die Tatsache, dass Character in Unicode ist, das stellte uns die "Common Language Infrastructure" zur Verfügung. Also, das Teil von .NET, das die Sprachen unterstützt. Ok, wir haben also hier Objects, String und Character. Der Rest dieser eingebauten Datentypen sind eigentlich verschiedene Varianten numerischer Typen. Also hier oben sind die ganzen integralen Typen: 8-, 16-, 32-, 64-bittig. Und dann gibt's das Ganze noch mal in 8, 16, 32, 64 ohne Vorzeichen. Dann haben wir noch die beiden Fließkommatypen Float und Double. Float ist also ein 32-Bit-Typ und Double ist ein 64-bit IEEE-Double-Typ. Dann haben wir noch den Booleschen Typ. Das wäre es dann eigentlich schon mit den eingebauten Typen in C#. Die kann man jetzt an jeder Stelle im C#-Code verwenden, ohne dass man irgendwelche Vorkehrungen treffen muss. Die sind einfach da. Und der C#-Compiler weiß dann natürlich auch, wie er sie übersetzen muss. Mit den integralen Datentypen, da möchte ich mich ganz kurz mal einer kleinen Eigenschaft widmen: Machen wir das hier mal alles weg und machen wir mal eine Integer-Variable hier. Ich kann jetzt dem "X" einen Wert zuweisen: X = int.MaxValue. Jetzt wird es erst mal interessant zu sehen: Wie hoch ist dieser Wert überhaupt? Das führe ich jetzt mal aus und das sind so, fassen wir es mal in 3er-Gruppen zusammen eins, zwei, drei-- Also, es sind ein bisschen über zwei Milliarden und in der Programmierschreibweise sind es sozusagen zwei Giga. Wenn ich jetzt hier etwas drauf zählen möchte und diesen Code ausführe, dann erhalte ich an der Stelle einen Überlauf. Also, der Wert kippt jetzt sozusagen vom Positiven ins Negative und ich erhalte keine Exception an der Stelle. Ich nehme mal an, es ist jetzt der Minimalwert, den man haben kann. Jetzt ziehe ich hier eins ab und flippe damit rüber in diesen positiven Bereich. Und das, glaube ich, ist auch ganz ok so, weil wenn wir bei jeder mathematischen Operation die Grenzen checken würden, dann würde es doch relativ langsam werden, die ganze Geschichte. Man kann das Ganze in einen "Checked Block" hineintun; das ist also ein Schlüsselwort, es öffnet uns einen Block und alles, was in diesem Block an Operationen stattfindet, soll jetzt mit seinen Grenzen gecheckt werden. Da kriegen wir jetzt eine OverflowException. Das Gleiche kriegen wir natürlich, wenn wir den MaxValue nehmen und da noch eins draufzählen, dann kriegen wir die gleiche OverflowException. Sie haben also in C# die Wahl, ob Sie Ihre Grenzen checken lassen wollen - ja oder nein. Jetzt haben Sie das Gleiche als uint, also als "unsigned Integer". Jetzt kann ich diesem Wert "X" den uint.maxvalue zuweisen. Jetzt ist es natürlich interessant zu sehen, was ist das jetzt? Der ist jetzt doppelt so lang. Das sind jetzt 4 Giga, also 1024x1024x1024x1024. Man nützt damit sozusagen den gesamten 32-Bit-Wertebereich in positiven Werten von 0 bis 4 Milliarden tralala. Und hier kann man jetzt das Gleiche versuchen: =0, x=x-1. Wollen mal sehen, was da jetzt herauskommt. Siehe da, da kommt der Maximalwert wieder raus. Also, das heißt, letztendlich entsteht da 0xffff ffff, das ist der Punkt der da entsteht. Und das Gleiche wieder mit "Reject", wenn ich das jetzt aufrufe, dann bekomme ich an der Stelle wieder OverflowException. Und die gleiche Geschichte kann man jetzt eben mit diesen schmalen Integer-Werten haben, also mit den Sbytes und mit den Short Values, also Shorts sind 16-Bit-Values und Bytes sind ja per Definition Werte ohne Vorzeichen. Demgegenüber hat man jetzt so ein Sbyte gesetzt. Das ist eben 8-Bit-Wert, mit Vorzeichen. Der geht dann sozusagen von -128 bis +127. Das wäre der Abschnitt über die eingebauten Datentypen in C#.

Visual C# 2012 Grundkurs

Schreiben Sie eigene Programme in C# und lernen Sie dazu alle Schlüsselwörter und die meisten Konstrukte kennen, um sicher mit dieser Programmierspreche umzugehen.

7 Std. 1 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!