Arbeiten mit .NET: Materialien/ Visual C-Sharp .NET: Variablen

<< Arbeiten mit .NET (Materialien)

Eine der Hauptfunktionen des Computers ist es, Werte zu speichern. Dies kann entweder dauerhaft auf der Festplatte oder aber, solange das Programm läuft, im Arbeitsspeicher passieren. Wir wollen uns in diesem Kapitel auf die Variante im Arbeitsspeicher beschränken. Das Problem ist, dass der Arbeitsspeicher viele verschiedene Arten von Daten verwalten muss. Beispielsweise den Brief in Word, der nur aus Buchstaben besteht, dann die Urlaubsfotos, die Sie gerade bearbeiten und zu guter letzt noch das Ergebnis der Rechnung, die Sie gerade den Taschenrechner haben rechnen lassen. Um das zu verwalten, gibt es Variablen, die in verschiedene Typen unterteilt sind, ähnlich wie beim Menschen: Die einen sind Superhirne und können sich ewig lange Zahlenreihen merken, die anderen Gedichte, wieder andere haben ein super bildliches Gedächtnis. Für jeden Zweck ein Typ. So ist es auch bei Variablen: Die einen für Zahlenreihen, die anderen für Wörter, wieder andere nur für einzelne Buchstaben. Dies wird in der Fachsprache auch als Datentyp bezeichnet.


Bevor wir Variablen verwenden können, müssen sie erstmal deklariert, das heißt vereinbart werden. Genau darum geht es im nächsten Abschnitt.

DeklarierenBearbeiten

Eine Variable in Visual C# zu deklarieren, ist eigentlich ganz einfach:

  • Sie müssen den Datentyp angeben
  • Sie müssen den Variablennamen angeben, allerdings gibt es hierbei gewisse Beschränkungen:
    • Der Name darf nur aus Buchstaben, Ziffern und Unterstrichen bestehen, es darf kein sog. Schlüsselwort, d.h. ein Visual C# schon bekanntes Wort sein
    • Der Name muss mit einem Buchstaben beginnen

Eine gültige Deklaration wäre also beispielsweise:

int i;

Hierbei wird eine Variable des Types Integer (Ganzzahl) mit dem Namen 'i' deklariert.

Sie können auch mehrere Variablen auf einmal deklarieren:

int i, x, y, z;

Allerdings müssen die Variablen immer vom gleichen Typ sein.

______________________________________________________________ ______________________________________________________________

Ab C sharp 3.0

ist es auch möglich Variablen mit dem Schlüsselwort var anzulegen. Aber nur local. bsp:

var zahl = 2;
var text = "Hallo welt!"

in Klasse sieht das dann so aus:

class Program
   {
       int zahl2 = 47;//richtig
       var zahl3 = 49;//falsch
       
       static void Main( string[] args )
       {
           var zahl = 45;//richtig
           int zahl1 = 45;// richtig
           
           var gesamt = zahl + zahl1;
           Console.WriteLine( gesamt );
           
       }
   }

ZuweisungenBearbeiten

Was bringen uns jetzt aber Variablen, wenn sie noch keinen Wert haben? Gar nichts! Also müssen wir ihnen einen Wert zuweisen. Das kann auf zwei unterschiedliche Arten passieren:

1.Wir weisen den Wert direkt bei der Deklaration der Variablen zu. Beispiel:

 int i = 5;

Wobei das Gleichzeichen einen sog. Operator darstellt. Mit Operatoren wollen wir uns im nächsten Kapitel genauer beschäftigen.

2.Wir weisen den Wert der Variablen irgendwo im Quelltext zu. Beispiel:

 int i;
 //Hier steht beliebiger Code
 i = 5;
 //Hier steht beliebiger Code

Auch hier stellt das Gleichzeichen einen Operator dar.

Eine nicht initialisierte Variable, also eine Variable, der noch kein Wert zugewiesen wurde, kann nicht verwendet werden. Folgender Code wird vom Compiler also nicht akzeptiert:

 int i, y;
 y = 3 + i;
 i = 5;

Der folgende Code ist dagegen korrekt::

 int i, y;
 i = 5;
 y = 3 + i;

VerwendungBearbeiten

Die Verwendung von Variablen ist eigentlich ganz einfach. Alle im Code verwendeten Werte können durch Variablen ersetzt werden. Beispiel:

 string begrüßung = "Hello World!";
 MessageBox.Show(begrüßung);

DatentypenBearbeiten

Um effektiv mit Variablen zu arbeiten, ist es von großer Bedeutung, die wichtigsten Datentypen zu kennen. Die folgende Tabelle enthält diese elementaren Datentypen sowie die Wertebereiche, d.h. die Werte, die der Variable zugewiesen werden dürfen. Dabei erhebt die Tabelle keinen Anspruch auf Vollständigkeit, enthält aber alle Typen, die für die tägliche Arbeit notwendig sind. Im Alltag werden Ihnen vor allem die Datentypen begegnen, deren Namen in der Tabelle fett dargestellt sind.


Datentyp Wertebereich Beschreibung Standardwert
Short -32.768 bis 32.767 16-Bit-Ganzzahl 0
Integer -2.147.483.648 bis 2.147.483.647 32-Bit-Ganzzahl 0
Long -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807 64-Bit-Ganzzahl 0
Byte 0 bis 255 vorzeichenlose 8-Bit-Ganzzahl 0
UShort 0 bis 65.535 vorzeichenlose 16-Bit-Ganzzahl 0
UInteger 0 bis 4.294.967.295 vorzeichenlose 32-Bit-Ganzzahl 0
ULong 0 bis 18.446.744.073.709.551.615 vorzeichenlose 64-Bit-Ganzzahl 0
Double -1,79769313486231e308 bis 1,79769313486231e308 Gleitkommazahl doppelter Genauigkeit 0.0
Char Unicode einzelnes Zeichen '\0' (  Nullzeichen)
String Unicode Zeichenkette (bis zu 2 Mrd. Zeichen)
Boolean True (wahr) oder False (falsch) Wahrheitswerte False
DateTime 1. Januar 0001 bis 31. Dezember 9999 Objekttyp (z.B.: DateTime Datum = DateTime.Now; weist der Variablen Datum das aktuelle Datum und die aktuelle Uhrzeit zu, DateTime Datum = new DateTime(); weist der Variablen Datum den Standardwert zu) 1. Januar 1, 00:00:00

Welchen Datentyp soll ich nehmen?Bearbeiten

Diese Frage stellen sich Programmieranfänger und erfahrene Programmierer bei Zahlenwerten immer wieder. Die wichtigste Empfehlung hier ist, sich ein System zu entwickeln und das dann konsequent durchzusetzen.

GanzzahlenBearbeiten

Hier empfehle ich uneingeschränkt den Integer-Datentyp. Er ist für fast alle Anwendungen groß genug (wenn nicht, wechseln Sie auf Long), außerdem rechnet Windows mit 32-Bit-Zahlen am schnellsten. Außerdem wird Integer auch von den meisten Funktionen des .NET-Frameworks verwendet.

GleitkommazahlenBearbeiten

Für Gleitkommazahlen nehme ich aus den gleichen Gründen, aus denen heraus ich auch Integer benutze, den Single-Datentyp: nicht zu klein, nicht zu groß, wird von .NET verwendet.