45
Leibniz Universität IT Services | Anja Aue C# - Einführung in die Programmiersprache „Variablen und Konstanten“

C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

  • Upload
    haphuc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

Leibniz Universität IT Services | Anja Aue

C# - Einführung in die Programmiersprache

„Variablen und Konstanten“

Page 2: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 2

Kommentare ...

beschreiben die Aufgabe und deren Lösung.

erleichtern das Verstehen eines Programms. werden vom Compiler überlesen. müssen bei Codeänderungen oder Programm-Erweiterungen

angepasst werden. beschreiben warum das Problem so gelöst wurde und nicht wie

es gelöst wurde.

Page 3: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 3

… in C#

Einzeilige Kommentare beginnen mit //.

Mehrzeilige Kommentare beginnen mit /* und enden mit */. Mehrzeilige Kommentare können auch einzeilig sein.

Eine Verschachtelung ist nicht möglich.

// Dies ist ein Kommentar

/* Dies ist ein Kommentar über mehrere Zeilen */

Page 4: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 4

Positionierung von Kommentaren

Kommentare können an beliebiger Stelle positioniert werden.

Kommentare am Anfang eines Programm erläutern die Entwicklungsgeschichte sowie den Inhalt der Quellcode-Datei.

Kommentare oberhalb einer Methode erläutern die Funktionsweise der Methode.

Kommentare oberhalb oder links von einer Anweisungen erläutern den nachfolgenden Code-Abschnitt.

Page 5: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 5

Daten ...

bestehen aus Zahlen und Zeichen.

können von der Konsole eingelesen werden. können in einer Datei, Datenbank etc. gespeichert werden. werden durch Variablen und Konstanten in einem Programm

dargestellt.

Page 6: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 6

Variablen ...

stellen im Programm veränderbare Werte dar.

sind Platzhalter für einen Wert von einem bestimmten Typ. definieren einen Speicherort in einer bestimmten Größe. Die

Größe wird durch die Art des Typs vorgegeben. sind Speicherorte, an denen Werte entsprechend ihres Typs

abgelegt werden.

Page 7: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 7

Arbeiten mit Variablen

static void Main(string[] args){ int ganzzahl; double dezimalzahl; string text; bool schalter;

ganzzahl = 5; dezimalzahl = 4.5; text = "Dies ist ein Text"; schalter = true; }

Page 8: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 8

Variablen definieren

[Datentyp] [Name]; Jede Variable muss vor der Nutzung definiert werden.

Aufgrund der besseren Lesbarkeit werden Variablen am Anfang eines Blockes definiert.

Der Name der Variablen ist frei wählbar. Der Datentyp legt die Nutzung / das Format der Variablen fest.

static void Main(string[] args){ int ganzzahl; double dezimalzahl; string text; bool schalter;

Page 9: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 9

Datentypen ...

sind Baupläne für die Werte einer Variablen.

geben über das Format des gespeicherten Wertes Auskunft. legen Regeln für die Interpretation und Verwendung eines

Wertes fest. legen den Speicherbedarf für eine Variable fest.

Page 10: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 10

Boolsche Datentypen ...

bool [Name]; haben nur die Werte true oder false. arbeiten ähnlich wie ein Lichtschalter.

Page 11: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 11

Ganzzahlige Datentypen ...

Beispiel: int [Name]; können nur Ganzzahlen speichern. haben in Abhängigkeit des gewählten Typs unterschiedliche

Wertebereiche. können in Abhängigkeit des Typs positive sowohl als auch

negative Zahlen speichern. als Literal: 123, 345, -50, als Hexadezimalzahl: Zum Beispiel die Zahl 16 wird als 0x10

dargestellt.

Page 12: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 12

Möglichkeiten

Datentyp Speicherbedarf (in Bytes)

Wertebereich

sbyte 1 -128 bis 127

byte 1 0 bis 255

short 2 -32.768 bis 32.767

ushort 2 0 bis 65.535

int 4 -2.147.483.648 bis 2.147.483.647

uint 4 0 bis 4.294.967.295

long 8 -9.223.372.036.854.775.808 bis9.223.372.036.854.775.807

ulong 8 0 bis 18.446.744.073.709.551.615

Page 13: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 13

Datentypen für Dezimalzahlen ...

Beispiel: float [Name]; unterscheiden sich in der Größe des Wertebereichs. sind Nährungswerte. sind bis zu einer bestimmten Anzahl von Nachkommastellen

genau. haben als Dezimaltrennzeichen einen Punkt. als Literale: 1.324, 1.365F (float), 15.45m (decimal).

Page 14: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 14

Möglichkeiten

Datentyp Speicherbedarf (in Bytes)

Genauigkeit Wertebereich

float 4 7 Stellen 1.5 x 10-45 bis 3.4 x 1038

double 8 15-16 Stellen 5.0 x 10-324 bis 1.7 x 10308

decimal 16 28-29 Dezimalstellen

1.0 x 10-28 bis 7.9 x 1028

Page 15: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 15

Ein Zeichen

char [Name]; Ein Zeichen der 16-Bit-Unicode-Tabelle: 'a'. Oder: Escape-Sequenzen: '\n' (newline) Ein Zeichen wird durch Apostrophs begrenzt.

Page 16: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 16

Zeichenketten (String) ...

string [Name]; bestehen aus Buchstaben, Ziffern, Satzzeichen oder Escape-

Sequenzen. werden durch die Anführungszeichen begrenzt.

Page 17: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 17

Escape-Sequenzen

Zeichen Erläuterung\' Apostroph

\" Anführungszeichen

\\ Backslash (umgekehrter Schrägstrich)

\0 Null

\a Alarm

\b Backspace

\f Form feed

\n New line

\r Carriage return

\t Horizontaler Tabulator

\v Vertikaler Tabulator

Page 18: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 18

Escape-Sequenzen ...

sind Steuerzeichen für die Ausgabe oder den Druck wie zum Beispiel das Zeilenende-Zeichen.

maskieren Zeichen, die im Code eine Bedeutung haben. Zum Beispiel Apostrophs werden als Begrenzung für char-Variablen genutzt. Apostrophs können aber auch in einem Text vorkommen.

können als einzelnes Zeichen oder in Strings genutzt werden. beginnen immer mit einem Backslash \.

Page 19: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 19

Bezeichner ...

sind vom Entwickler vergebene Namen für Elemente in einem C#-Programm.

beginnen mit einem Buchstaben oder dem Unterstrich. enthalten die Zahlen 0 bis 9, die Buchstaben a … z / A … Z

und den Unterstrich. enthalten keine Leerzeichen zur Trennung von Wörtern in

einem Variablennamen. beachten die Groß- und Kleinschreibung.

entsprechen nicht den Schlüsselwörtern von C#.

Page 20: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 20

Zusammengesetzte Variablennamen

intvariableradius. Jedes Wort beginnt mit einem Kleinbuchstaben.

IntVariableRadius wird als Pascal-Schreibweise bezeichnet. Jedes Wort beginnt mit einem Großbuchstaben. Diese Schreibweise sollte für Methodennamen genutzt werden.

intVariableRadius wird als Kamel-Schreibweise bezeichnet. Das erste Wort beginnt mit einem Kleinbuchstaben, alle anderen Wörter mit einem Großbuchstaben. Diese Methode sollte für Variablen genutzt werden.

Page 21: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 21

Geeignete Variablennamen ...

sollten über die Art und Nutzung des Wertes Auskunft geben. Beispiel: Für die Berechnung eines Kreisradius wird eine Variable mit dem Namen radius erzeugt.

spiegeln den Sachverhalt, den die Variable repräsentiert vollständig und genau wieder. Auf diese Weise ergeben sich oft bereits gute Namen.

sind einfach zu lesen, da sie keine geheimnisvollen Abkürzungen enthalten und eindeutig sind.

sind an die reale Welt angelehnt. Ein Temperaturwert wird auch in einem C#-Programm als Temperaturwert bezeichnet und nicht mit dem Buchstaben „t“.

Page 22: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 22

Ungeeignete Variablennamen ...

sind x2, a22 oder ähnlich kryptische Bezeichner.

stellen keinerlei Beziehung zum Inhalt der Variablen her. beschreiben exakt eine Eigenschaft. Zum Beispiel: Es werden

Daten für eine Rechnung im März eingelesen. Die Daten werden in einer Variablen „rechnungMaerz“ gespeichert. Besser: Die Variable wird nur als „rechnung“ bezeichnet.

nutzen Verben als Bezeichnung. Verben sollten nur für Prozedur-Namen genutzt werden. Prozeduren beschreiben eine Aktion.

bestehen nur aus einen Zeichen. Ausnahme: Zähler oder Indizes.

Page 23: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 23

Beispiele

Aufgabe

Bestellnummer

Rechnungsdatum

Kundenname

Farbe eines Autos

Farbe Eines Autos

Geeignete Variablennamen:

Ungeeignete Variablennamen:

bestellNr, bnrbestellnummer bstnrbestellung_Nr bnrechnungDatum rgDbonDatum rechnung

RechnungMaerzkunde bezeichnungkundeName kndNameKunde namefarbeAuto faAufarbe_Auto AutoGelb

au_fa

Page 24: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 24

Zuweisung eines Wertes an die Variable

Mit Hilfe des Gleichheitszeichens wird der Variablen ein Wert zugewiesen.

Der Wert entspricht dem Datentyp der Variablen.

Falls der Wert zu groß für den angegebenen Wertebereich ist, wird eine Fehlermeldung ausgegeben.

static void Main(string[] args){ ganzzahl = 5; dezimalzahl = 4.5; text = "Dies ist ein Text"; schalter = true; }

Page 25: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 25

Fließkommazahl als konstanter Wert

static void Main(string[] args){ double dezimalzahl; float zahl;

dezimalzahl = 4.5; dezimalzahl = 9.46E15; // Expontialdarstellung; zahl = 4.5; // Fehler: Double-Wert zahl = 4.5f; }

Page 26: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 26

Strings als konstanten Wert

static void Main(string[] args){ string text; char zeichen;

text = "Dies ist ein Text"; text = " Zeile 1 \n Zeile 2"; text = @" Zeile 1 \n Zeile 2"; text = @" Zeile 1 Zeile 2";

zeichen = 'A'; }

Page 27: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 27

Verbatim-Zeichenketten ...

beginnen immer mit dem @.

werden exakt so wie im Programm geschrieben gespeichert und / oder ausgegeben.

werden häufig für Pfadangaben genutzt.

Page 28: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 28

Konstanten in C#

static void Main(string[] args){ const float PI = 3.14159; const int FAKTOR = 10; const string AUSGABE = "Ausgabe: "

}

Jede Konstante wird gleichzeitig definiert und mit einem Wert belegt.

Der Wert der Konstanten darf nicht verändert werden.

Der Bezeichner einer Konstanten sollte mit einem Großbuchstaben beginnen.

Page 29: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 29

Anweisungen ...

werden aus Ausdrücken gebildet. Ausdrücke bestehen aus Operanden (zahl, 5, etc.) und Operatoren (+, -, etc.)

enden in einem C#-Programm mit einem Semikolon. werden meist sequentiell ausgeführt. Das heißt, die

Anweisungen werden Zeile für Zeile ausgeführt. symbolisieren einen bestimmten Arbeitsschritt. sind die kleinste Einheit eines C#-Programms.

Page 30: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 30

Arithmetische Operatoren

Operator Rechenart Beispiel

* Multiplikation ergebnis = 3 * 2

/ Division ergebnis = 3 / 2 float ergebnis 1int ergebnis 1

ergebnis = 3.0 / 2 float ergebnis 1.5int ergebnis 1

% Modula(Division mit Rest; Ganzzahlen)

rest = 3 % 2rest = 1

+ Addition ergebnis = 3 + 2

- Subtraktion ergebnis = 3 - 2

Page 31: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 31

Division durch Null ...

wird als Fehler bei Ganzzahlen gemeldet.

wird nicht als Fehler bei Dezimalzahlen angezeigt. Dezimalzahlen sind Nährungswerte!

Page 32: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 32

Zusammengesetzte Operatoren

Operator Rechenart Erläuterung

*= Multiplikation ergebnis *= 2ergebnis = ergebnis * 2

/= Division ergebnis /= 2 ergebnis = ergebnis / 2

%= Modula rest %= 2rest = rest % 2

+= Addition ergebnis += 2ergebnis = ergebnis + 2

-= Subtraktion ergebnis -= 2ergebnis = ergebnis - 2

Page 33: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 33

Inkrement- und Dekrement-Operator

Operator Rechenart variable = 10 variable = 10

++ Inkrement ergebnis = variable++ergebnis = 10variable = 11

ergebnis = ++variableergebnis = 11variable = 11

-- Dekrement ergebnis = variable--ergebnis = 10variable = 9

ergebnis = variable--ergebnis = 9variable = 9

Der Inkrement-Operator wird aus zwei Pluszeichen gebildet. Der Dekrement-Operator wird aus zwei Minuszeichen gebildet. Diese Operatoren werden häufig in Schleifen genutzt.

Page 34: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 34

Strings verknüpfen

Mit Hilfe des Pluszeichen können Variablen, Konstanten und Literale verknüpft werden.

Zahlen werden automatisch in ein String konvertiert.

Page 35: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 35

Beispiel

static void Main(string[] args){ int zahl; int variable;

variable = 10; zahl = variable++;

variable = 10; zahl = ++variable; }

Page 36: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 36

Hinweise

Punktrechnung geht vor Strichrechnung.

Klammern erhöhen die Lesbarkeit. Operatoren in Ausdrücken werden standardmäßig in der unten

stehenden Reihenfolge ausgewertet: Dekrement- und Inkrement-Operator. Negatives Vorzeichen. Multiplikation, Division, Modula. Addition, Subtraktion.

Page 37: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 37

Konvertierung von Daten

Implizit. Daten werden automatisch vom Programm konvertiert. Ein kleinerer Datentyp kann ohne Probleme in einen größeren Datentyp konvertiert werden.

Explizit. Der Datentyp, in dem die Daten konvertiert werden, wird vom Entwickler angegeben.

Page 38: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 38

Implizite Konvertierung

static void Main(string[] args){ int intZahl; float fltZahl; double dblZahl;

intZahl = 5; fltZahl = intZahl; dblZahl = fltZahl;}

Page 39: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 39

Explizite Konvertierung

static void Main(string[] args){ int intZahl; byte bytZahl; float fltZahl; double dblZahl;

fltZahl = (float)dblZahl;

intZahl = 123456789; bytZahl = (byte)intZahl; // Ergebnis unbekannt

fltZahl = 4.5f intZahl = (int)fltZahl; // Löschen der Nachkommastellen}

Page 40: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 40

Konvertierung von Ausdrücken

double dblZahl;

dblZahl = 7 / 3; dblZahl = (double) 7 / 3;DblZahl = 7.0 / 3;

Eine Berechnung, in der nur ganzzahlige Variablen verwendet werden, liefert immer ein ganzzahliges Ergebnis.

Falls das Ergebnis als Dezimalzahl benötigt wird, muss ein Operand implizit umgewandelt werden.

Bei Literalen muss ein „.0“ gesetzt.

Page 41: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 41

Konvertierung von String-Variablen in …

Jeder Standard-Datentyp ist in C# als Klasse implementiert und besitzt die Methode .TryParse() sowie .Parse() zur Konvertierung von Stringdaten.

Methoden und Objekte werden durch ein Punkt verbunden. In den runden Klammern werden der Methode Argumente zur

Weiterverarbeitung übergeben. Die Argumente werden durch Kommata getrennt.

Beide Methode geben den konvertierten Wert zurück.

Double.TryParse(strBreite, out breite);int intZahl = Int32.Parse(strZahl);

Page 42: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 42

Parameter und Rückgabewert von TryParse()

Parameter: Welcher Wert soll konvertiert werden?

In welche Variable soll der Wert gespeichert werden? Durch das Schlüsselwort out muss die Variable in der Methode initialisiert werden. Die Variable ist vom Datentyp des angegebenen Objekts.

Die Methode gibt einen boolschen Wert in Abhängigkeit des Erfolges (true) / Misserfolgs (false) zurück.

Double.TryParse(strBreite, out breite);int intZahl = Int32.Parse(strZahl);

Page 43: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 43

Parameter und Rückgabewert von Parse()

Als Parameter wird der zu konvertierende Wert übergeben. Mit Hilfe des Gleichheitszeichen wird der konvertierte Wert in

einer Variablen gespeichert. Die Variable und das angegebene Objekt haben denselben Datentyp.

Falls eine Konvertierung nicht möglich ist oder ein Fehler auftritt, wird eine Exception (Ausnahme) geworfen.

Double.TryParse(strBreite, out breite);int intZahl = Int32.Parse(strZahl);

Page 44: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 44

Andere Möglichkeiten

Das Objekt Convert hat für jeden Standarddatentyp eine Methode zur Konvertierung.

In diesem Beispiel wird die Eingabe an der Konsole in ein Char-Wert umgewandelt.

Das Ergebnis der Konvertierung kann in einer Variablen gleichen Typs gespeichert werden.

Falls die Konvertierung nicht möglich ist, wird eine Fehlermeldung ausgeworfen.

eingabe = Convert.ToChar(Console.ReadLine());eingabe = Convert.ToInt32(Console.ReadLine());

Page 45: C# - Einführung in die Programmiersprache „Variablen und ... · PDF fileC# - Einführung | 26.06.12 Seite 12 Möglichkeiten Datentyp Speicherbedarf (in Bytes) Wertebereich sbyte

C# - Einführung | 26.06.12 Seite 45

Daten in einen String konvertieren

Jeder Standard-Datentyp ist in C# als Klasse implementiert und besitzt die Methode .ToString() zur Konvertierung der Daten in einen String.

Die Methode wird mit der Variablen durch ein Punkt verbunden.

ergebnis.ToString()