Datentypen
Bezeichnung |
Erklärung |
Darstellung |
string |
Zeichenkette |
"Name" |
char |
einzelne Zeichen |
'a' |
bool |
Abfragetyp |
true / false |
int |
ganze Zahlen |
123 |
float |
Dezimalzahlen (mit ~7 Nachkommastellen) |
1,23... |
double |
Dezimalzahlen (mit ~15 Nachkommastellen) |
1,23... |
decimal |
Dezimalzahlen (mit ~29 Nachkommastellen) |
1,23... |
Datentypen werden genutzt, um die Art einer Variablen zu definieren.
allgemeiner Aufbau
Methoden |
Sichtbarkeit |
public |
|
Rückgabetyp |
int |
|
Methodenname |
Zahl |
|
(Parameter) |
(int z,...) |
|
{ Code } |
{ Code } |
|
Klassen |
class |
class |
|
Klassenname |
Zahl |
|
{ Code } |
{ Code } |
Zugriffsmodifizierer (Sichtbarkeit)
public |
Der öffentlicher Zugriff ist die uneingeschränkteste Zugriffsebene. Es gibt keine Einschränkungen für den Zugriff auf öffentliche Member. |
private |
Private Member sind nur innerhalb der Klasse oder Struktur nutzbar. |
partial |
Dies ist nur ein Teil der Definitionen der Klasse. Weitere Teile der Definition sind in anderen Dateien enthalten. |
protected |
Auf einen geschützten Member kann innerhalb seiner Klasse und von Instanzen abgeleiteter Klasse zugegriffen werden. |
|
const (konstant) |
Konstante Felder und lokale Felder sind keine Variablen und können daher nicht geändert werden. |
static |
Ein static-Member kann nicht über eine Instanz verwiesen werden. Stattdessen wird er über den Typnamen verwiesen. |
Werden Zugriffsmodifizierer in Verbindung mit Variablen genutzt, wird hinter den Zugriffsmodifizierer der Datentyp geschrieben.
Rückgabetypen
Datentypen (int, double, string,...) |
Benötigt ein return Variable;
|
void |
Ist einen "leerer" Rückgabetyp |
Schleifen
Typ |
Allgemein |
Beispiel |
if-Schleife |
|
|
if-else-Schleife |
if (Bedingung) {Code} else {Code}
|
if (a>b) {a=b+1} else {b=a+1}
|
while-Schleife |
|
|
do-while-Schleife |
do {Code} while (Bedingung)
|
|
for-Schleife |
|
for (int i=0; i<a; i+=1) {a=a+1}
|
try-catch-Schleife |
try {Code} catch (Exception) {Code}
|
try {string s=... ; double x=ConvertToDoulbe(s);} catch(Exception ex){MessageBox.Show(ex.Message);}
|
foreach-Schleife |
foreach (Element in Array){Code}
|
int[] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };
|
|
|
foreach (int i in numbers) {Console.Write("{0} ", i);}
|
Ausnahmen (Exceptions)
Auslösen |
throw new Exception ("Ausnahme");
|
Abfangen |
|
|
catch(Exception ex){MessageBox.Show("Text" + ex.Message);}
|
Alle restlichen Ausnahmen „fangen“ |
|
catch(DivideByZeroException ex){Code}
|
Division durch Null |
|
catch(FormatException ex){Code}
|
Falsches Zahlenformat |
|
|
auch ohne Argument möglich |
Array
allgemeine Definition |
Datentyp [ ] Name = new Datentyp [Größe]
|
Definition mit konstanter Größe |
const Datentyp Name = Größe;
|
|
Datentyp [ ] Name2 = new Datentyp [Name];
|
Definition mit veränderbarer Größe |
Datentyp Name = (Datentyp) numericUpDown1.Value;
|
|
Datentyp2 [ ] Name2 = new Datentyp [Name];
|
Ausgabe |
for(int i=0; i<n; i=i+1){ label1.Text = Name [ i ]}
|
Die Nummer des ersten Speicherplatzes ist immer 0.
Arbeiten mit Dateien
Datei öffnen zum lesen |
|
|
fs = new FileStream(FileName, FileMode.Open);
|
Datei öffnen zum Schreiben |
|
|
fs = new FileStream(FileName, FileMode.OpenOrCreate);
|
Datei lesen |
StreamReader sr = new StreamReader(fs);
|
|
while (!sr.EndOfStream){string line = sr.ReadLine();
|
|
textBox1.Text += line +System.Environment.NewLine;}
|
Datei schreiben |
StreamWriter sw = new StreamWriter(fs1);
|
|
sw.Write("Hello World!");
|
Datei schließen |
|
|
|
vorhandene Datei (lesen) |
OpenFileDialog fn = new OpenFileDialog();
|
|
|
vorhanden oder neue Datei (schreiben) |
SaveFileDialog fn = new SaveFileDialog();
|
|
|
Vererbung
public class Tier {public virtual void Greet() {Console.WriteLine("Hallo, ich bin eine Art Tier!");}}
|
Die Klasse "Hund" erbt von der Klasse "Tier". Es werden die Eigenschaften der Klasse "Tier" weitergegeben. |
public class Hund : Tier {public override void Begrüssung() {Console.WriteLine("Hallo, ich bin ein Hund!");}}
|
Durch "override" sollen die übergebenen Eigenschaften überschrieben werden und können dadurch angepasst werde. |
Vererbung ermöglicht es, eine Basisklasse zu definieren, die eine bestimmte Funktionalität bietet (Daten und Verhalten), und abgeleitete Klassen zu definieren, die diese Funktionalität entweder übernehmen oder außer Kraft setzen.
Input und Output
Input |
|
Output |
|
Der Output wird auf verschiedene Zeilen geschrieben |
|
|
Der Output wird auf die gleich Zeile geschrieben |
Mathematik
Addition |
+ |
Subtraktion |
- |
Multiplikation |
* |
Division |
/ |
Restwert |
% |
Exponent |
Math.Pow(x,y) |
Wurzel (square-root) |
Math.Sqrt(x) |
Operatoren
gleich |
== |
ungleich |
!= |
kleiner als |
< |
kleiner gleich |
<= |
größer als |
> |
größer gleich |
>= |
und |
&& |
oder |
|| |
Convert Methoden
Konvertierung zu string |
ToString |
Konvertierung zu char |
ToChar |
Konvertierung zu int16 (16-bit) |
ToInt16 |
Konvertierung zu int32 (32-bit) |
ToInt32 |
Konvertierung zu double |
ToDouble |
Konvertierung zu dezimal |
ToDecimal |
Konvertierung zu boolean |
ToBoolean |
Konvertierung des Wertes eines Typs (int, float, double usw.) in einen anderen Typ
Konvertierung kann auch durch davor schreiben des gewünschten Datentypen erzielt werden (z.B. (int)Variablenname )
Kommentare
eine Zeile |
// |
mehrere Zeilen |
/ ..../ |
|