Programmierkurs C-Sharp: Konstante

Aus Wikibooks

Wechseln zu: Navigation, Suche
Regal: Programmierung Programmierkurs C# Bild:Wikibooks buchseite.svg Konstante Ausdrücke


Inhaltsverzeichnis

[Bearbeiten] Konstante Ausdrücke

Konstanten sind Zahlen, Wörter und Wortgruppen, die sich niemals in einem Programm ändern. Z. B. die Kreiszahl Pi. Oder aber Ausgabenteile für den Bildschirm oder den Drucker. Es ist sehr wichtig, dass man konstante Ausdrücke im Quellcode definieren und diese möglichst an einer zentralen Stelle im Quellcode sammelt. So kann man gegebenenfalls diese schnell ändern, falls das nötig sein sollte. Jede Programmiersprache hat ihre Eigenheiten, wie man Konstanten definiert. Grundsätzlich sieht das in C# wie folgt aus:

[Typ] Name = <Wert>;


[Bearbeiten] Numerische Konstanten

Numerische Kostanten, also Zahlen, sind einfach zu definieren, da man sie einfach hinschreiben kann:

int    i = 1;
double d = 3.2e3; // ergibt 3200

Bei der Gleitkommazahl wird, wie im amerikanischen Sprachraum üblich, ein Punkt als Komma verwendet. Das E gibt den Exponenten einer Zahl an. Das Heißt man multipliziert die Zahl davor mit 10Exponent. Wenn die Zahl negativ ist, dann dividiert man durch 10Exponent. Also das obige Beispiel hätte man wie folgt schreiben können:

double d = 3200;
double d = 320e1;
double d = 32e2;
double d = 3.2e3;
double d = 0.32e4;

oder auch:

double d = 32000e-1;
double d = 320000e-2;
double d = 3200000e-3;
double d = 32000000e-4;

[Bearbeiten] Zeichen Konstanten

char    Zeichen = "A";

[Bearbeiten] String Konstanten

Im Quelltext hinterlassene Stringkonstanten sind prinzipiell stringobjekte und werden im Code einfach in Anführungszeichen geschrieben und sind immer Unicode kodiert. Wenn man bestimmte Zeichen kodieren möchte, die sich nicht normal eingeben lassen kann man auf deren numerische Entsprechung zurückgreifen und die seit C bekannte \-Kodierung benutzen:

string  Zeile1  = "Zeile A";    // Ausgabe: Zeile A
string Zeile2 = "Zeile B \\"; // Ausgabe: Zeile B \
string Zeile3 = "Zeile C \""; // Ausgabe: Zeile C "

Wenn man die doppelten \ nicht haben möchte kann man einfach ein @ vor den Stringliteral schreiben:

string  Zeile4  = @"Zeile D \"; // Ausgabe: Zeile D \

Stringliterale können mit Plus einfach verbunden werden:

string  Zeile5  = "Zeile 5" + "Zeile 6" // Ausgabe: Zeile 5Zeile 6

Wenn man das jetzt wirklich in zwei Zeilen ausgeben möchte muss man einen Zeilenumbruch (LineFeed) und einen Wagenrücklauf (Carriage Return) einbauen:

string  Zeile7  = "Zeile 7\r\n" + "Zeile 8" // Ausgabe: Zeile 7
// Zeile 8

Eleganter geht das dann aber mit dem @-Zeichen, das die vorhanden Umbrüche mit einfügt:

string Zeile9=@"Zeile 9
Zeile 10"

\' Einfaches Hochkomma
\" Anführungszeichen
\\ Umgekehrter Schrägstrich (Backslash)
\0 Null (Unicode-Wert 0)
\a Piepton (Alert)
\b Rückschritt (Backspace)
\f Seitenvorschub (Form feed)
\n Neue Zeile (New line)
\r Wagenrücklauf (Carriage return)
\t Tabulator
\v Vertikaler Tabulator

Es gibt noch mehrere dieser Konstanten:

Zeichenfolge Ausgabe Ascii Beschreibung
\0 Unicode 0
\n Neue Zeile (New line)
\r
\uXXXX Unicode konstante
""
\\
Persönliche Werkzeuge