2016-10-26 6 views
-2

Das ist mein Code;Geben Sie den Zeichenwert von null zurück

public void Dönüştür() 
{ 
    int TextboxLength = TextBox.MaxLength; 
    string LowerText = TextBox.Text.ToLower(); 
    var AllCharacters = ""; 

    for (int i = 0; i < TextboxLength; i++) 
    { 
     char Characters = char.Parse(LowerText); 
     switch (Characters) 
     { 
      case '0': AllCharacters += "0"; break; 
      case '1': AllCharacters += "1"; break; 
      case '2': AllCharacters += "2"; break; 
      case '3': AllCharacters += "3"; break; 
      case '4': AllCharacters += "4"; break; 
      case '5': AllCharacters += "5"; break; 
      case '6': AllCharacters += "6"; break; 
      case '7': AllCharacters += "7"; break; 
      case '8': AllCharacters += "8"; break; 
      case '9': AllCharacters += "9"; break; 

      case ' ': case '+': case '-': case '_': AllCharacters += "0"; break; 
      case ':': case ';': case '=': case ',': case '.': AllCharacters += "1"; break; 
      case 'a': case 'b': case 'c': case 'ç': AllCharacters += "2"; break; 
      case 'd': case 'e': case 'f': AllCharacters += "3"; break; 
      case 'g': case 'ğ': case 'h': case 'ı': case 'i': AllCharacters += "4"; break; 
      case 'j': case 'k': case 'l': AllCharacters += "5"; break; 
      case 'm': case 'n': case 'o': case 'ö': AllCharacters += "6"; break; 
      case 'p': case 'r': case 's': case 'ş': AllCharacters += "7"; break; 
      case 't': case 'u': case 'ü': AllCharacters += "8"; break; 
      case 'v': case 'y': case 'z': case 'x': case 'w': AllCharacters += "9"; break; 
     } 

    } 
    MessageBox.Show(TextBox.MaxLength.ToString(), "TextBox MaxLength:"); 
    MessageBox.Show(AllCharacters.ToString(), "AllCharacters value:"); 
} 

Ich möchte die Zahlen in Buchstaben umwandeln. Der char Wert aber es scheint leer.

AllCharacters

Wenn diese Option aktiviert, wird das Textfeld gefüllt, obwohl für Schleife funktioniert nicht. Der Grund dafür kann die Anzahl der Zeichen von 0 TextBox sein, aber die TextBox ist gefüllt.

MaxLength

Was ist das Problem, wo mache ich Fehler?

+0

https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ –

+0

Was ist diese Seite? Ich stellte die Frage, die mich nur wunderte, ich lerne zu sein. Das ist keine schlechte Sache. –

Antwort

1

Sie werden für die Anzahl der Male von TextBox.MaxLength, die Null ist Schleife, so dass es überhaupt keine Schleife. Meinst du Schleife um TextBox.Text.Length?

Die Eigenschaft MaxLength, wenn sie auf mehr als Null festgelegt ist, beschränkt die Anzahl der Zeichen, die in das Textfeld eingegeben werden können.

for (int i = 0; i < TextBox.Text.Length; i++) 
    { 
     char Characters = LowerText[i]; 
     ... 
    } 
+2

Außerdem glaube ich nicht, dass diese Zeile 'char Character = char.Parse (LowerText);' tut, was Sie denken, dass es tut. Versuchen Sie stattdessen, eine 'foreach (char chVal in Textbox.Text)' Schleife zu verwenden – Theo

Verwandte Themen