Programmierkurs C-Sharp: Konstante
Aus Wikibooks
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 | ||
| "" | |||
| \\ |

