Hi Leute,
habe ein Problem mit einer verschachtelten if-else-Anweisung.
Die if-Bedingung if (m < (k + 1)) ist true und trotzdem wird die else-Anweisung ausgeführt!
Die if-Bedingung ist fett markiert. Die Anweisung, die in der else-Bedingung ausgeführt wird, habe ich auch fett markiert.
Was ist an dieser if-else-Anweisung falsch ?
Überwachungsfenster
Name: Wert:
(m<(k+1)) true
m 0
k 0
habe ein Problem mit einer verschachtelten if-else-Anweisung.
Die if-Bedingung if (m < (k + 1)) ist true und trotzdem wird die else-Anweisung ausgeführt!
Die if-Bedingung ist fett markiert. Die Anweisung, die in der else-Bedingung ausgeführt wird, habe ich auch fett markiert.
Was ist an dieser if-else-Anweisung falsch ?
Code:
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
int m = textBox1.TextLength;
int k = textBox1.SelectionStart;
string sDummy = textBox1.Text;
if (k <= 7)
{
if ((k == 0) || (k == 3))
{
if (m <= 7)
{
if (m < (k + 1)) {MessageBox.Show("if (m < (k + 1)) = true");} else
{
if (sDummy[k + 1]!= '-')
{MessageBox.Show("if (sDummy[k + 1]!= '-') = true");}
else
{MessageBox.Show("if (sDummy[k + 1]!= '-') = false");} }
}
else
{MessageBox.Show("if (m <= 7) = false");}
textBox1.SelectionStart = k + 2;
}
}
}
Name: Wert:
(m<(k+1)) true
m 0
k 0