Autor Beitrag
Jan85
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 27.05.08 19:22 
Ich habe ein kleines "Programm" geschrieben das drei Zahlen, die einzugeben sind, addiert. (Bin noch anfänger)

Das war auch kein Problem. Wie jedoch geht es, dass ich auch nur zwei Zahlen eingeben kann und er diese dann addiert. (wenn ich jetzt nur zwei Zahlen eingebe kommt eine Fehlermeldung)

Hier mein Quellcode:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
int Zahl1=int.Parse(textBox1.Text);
int Zahl2=int.Parse(textBox2.Text);
int Zahl3=int.Parse(textBox3.Text);
int Ergebnis=(Zahl1+Zahl2+Zahl3);
label1.Text=Ergebnis.ToString();


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 27.05.08 19:41 
Solche Prüfungen sind oft nötig, das geht in der Regel so:
ausblenden C#-Quelltext
1:
2:
3:
int zahl3 = 0;
if (!String.IsNullOrEmpty(textBox3.Text))
   Zahl3=int.Parse(textBox3.Text);

Das geht auch noch in einer Zeile:
ausblenden C#-Quelltext
1:
2:
int Zahl3 = String.IsNullOrEmpty(textBox3.Text) 
    ? 0 : int.Parse(textBox3.Text);

Jürgen
Jan85 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 27.05.08 20:10 
Vielen Dank für die schnelle Hilfe, jedoch klappt es bei mir immer noch nicht.
Fehlermeldung: string does not contain a definition for IsNullOrEmpty

Was habe ich falsch gemacht:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  
int Zahl1=int.Parse(textBox1.Text);
int Zahl2=int.Parse(textBox2.Text);
int Zahl3=0;
if ( !string.IsNullOrEmpty(textBox3.Text))
Zahl3=int.Parse(textBox3.Text);
          
int Ergebnis=(Zahl1+Zahl2+Zahl3);
label1.Text=Ergebnis.ToString();


Moderiert von user profile iconChristian S.: Cs-Tag repariert
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 28.05.08 09:50 
Wenn du noch nicht .NET 2 (oder höher) benutzt, dann mußt du selber so eine Methode schreiben:
ausblenden C#-Quelltext
1:
2:
3:
4:
public static bool IsNullOrEmpty(string s)
{
  return s == null || s.Length == 0;
}

Besser wäre jedoch die Prüfung auf Ausnahmen (z.B. falls ein Buchstabe drin steht).
Ab .NET 2 gibt es dann auch die Methode TryParse, welche man einfach nachbauen kann (zumindestens als freie Methode).
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
public static int TryParse(string s)
{
  try
  {
     return int.Parse(s);
  }
  catch(Exception)
  {
    return 0;
  }
}