falsche eingabe format



  • Hallo,
    ich habe folgende code implementiert und bekomme "eingabezeichenfolge hat falsche format" als fehler

    int i = Convert.ToInt32(myMethod1(daten));
    
    public string myMethod1(string daten)
            {
                byte[] dt= new byte[1024];
               daten= ASCIIEncoding.ASCII.GetString(dt);
    
    	        string sub = daten.Substring(2, 4);
    	        Console.WriteLine(sub);
                return sub;
    
            }
    

    kann jemand bitte helfen



  • Das kann darin liegen, dass myMethod1 keine "Zahl" als Zeichenfolge zurückgibt. Wenn im string "526" steht, kann es konvertiert werden. Wenn aber im string "5b62" steht, kriegst du eine Ausnahme.



  • Danke schonmal 🙂
    "Wenn aber im string "5b62" steht, kriegst du eine Ausnahme"
    ja , was soll ich dagegen tun???



  • martin56 schrieb:

    ja , was soll ich dagegen tun???

    Sicherstellen dass keine Buchstaben auftauchen und wenn es doch vorkommt, sinnvoll darauf reagieren. Schau dir mal int.TryParse an. Diese Methode gibt false zurück, wenn die Konvertierung/der Parsevorgang fehlgeschlagen ist.



  • Buchstaben kommen aufjedenfall vor.
    kannst du bitte codieren wie ich die Int32.TryParse-Methode implementieren soll? 🙂



  • martin56 schrieb:

    Buchstaben kommen aufjedenfall vor.
    kannst du bitte codieren wie ich die Int32.TryParse-Methode implementieren soll? 🙂

    Soll er Dir auch noch ein Sandwich machen?

    http://msdn.microsoft.com/de-de/library/f02979c7.aspx



  • sei bitte nicht so gemein 😞
    ich bin anfänger ,ich überlege mir seit 10 stunden und nichts gefunden,ich weiss auch micht wie ich es am besten implementieren soll.
    das ist nur ein stück code für erfahrene;)



  • martin56 schrieb:

    sei bitte nicht so gemein 😞
    ich bin anfänger ,ich überlege mir seit 10 stunden und nichts gefunden,ich weiss auch micht wie ich es am besten implementieren soll.
    das ist nur ein stück code für erfahrene;)

    Schon aber, so lernst du nichts dabei. Außerdem kannst ich mir kaum vorstellen, dass es zu schwierig sein soll auf der angegebenen Hilfeseite mal zu schauen, etwas nach unten zu scrollen 😕
    Dann siehst du dieses Beispiel und wie du TryParse verwenden kannst:

    private static void TryToParse(string value)
       {
          int number;
          bool result = Int32.TryParse(value, out number);
          if (result)
          {
             Console.WriteLine("Converted '{0}' to {1}.", value, number);         
          }
          else
          {
             if (value == null) value = ""; 
             Console.WriteLine("Attempted conversion of '{0}' failed.", value);
          }
       }
    

    🙄



  • einfach so im code kopieren und
    int i = Int32.TryParse(myMethod1(daten)); so ändern oder 😕



  • martin56 schrieb:

    einfach so im code kopieren

    Da oben steht ein Beispiel.
    Versuche einfach mal es zu verstehen und hör' auf mit unreflektiertem copy&paste.


Anmelden zum Antworten