Fehler bei C# beheben?

... komplette Frage anzeigen

3 Antworten

Das Property Text ist vom Datentyp String. Die Variable Counter dagegen speichert Daten vom Typ Integer. Ein String kann keine Zahl darstellen, daher erscheint ein Fehler.

Achte auf das Literal, wenn du einer Variable einen Wert zuweisen möchtest. So sind Werte in Anführungszeichen immer Strings, Ganzzahlen Integer oder true/false boolschen Typs. Am Literal erkennt der Computer also, was dieser Wert gerade für einen Typ darstellt.

Bsp.:

bool a = true;
bool b = a;
bool c = "2"; // Fehler, der boolsche Datentyp kennt nur die Werte true oder false

Wenn du den Datentyp wechseln möchtest, musst du ihn casten. Um eine Zahl zu einen String umzuwandeln, gibt es verschiedene Möglichkeiten. Bspw. die ToString-Methode. Oder eine Stringkonkatenation:

string s = 1 + "";
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Shurtu
28.07.2016, 20:51

Vielen Dank :)

0

Die Text-Eigenschaft erwartet einen String, Counter hast du aber als Double deklariert.

Das bedeutet, dass du bei der Zuweisung deinen Double-Wert in einen String konvertieren musst. Das geht immer mit der ToString-Methode eines Objekts.

lblCounter.Text = Counter.ToString();
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Shurtu
28.07.2016, 20:30

Vielen Dank,hat funktioniert :) Wenn du es noch ein klein wenig verständlicher erklärst,bekommst du Hilfreichste Antwort :)

0

Das liegt daran, das kein double in Textboxen und Co ausgegeben werden kann.

Du musst den Wert in einen String umwandeln.

Das geht so:


lblCounter.Text = Convert.ToInt32(Counter);




Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Shurtu
28.07.2016, 20:24

Leider kommt dann genau die gleiche Fehlermeldung :/

0

Was möchtest Du wissen?