string zu port ???



  • Hallo

    Folgender Code macht mich ein wenig begriffsstutzig *g*
    Naja wenn ich diesen Code compiliere bekomme ich den Fehler, dass der Typ String nicht in den Typ .... umgewandelt werden kann...
    irgendwie muss ich den string typ wohl vorher umwandeln.
    aber wie geht das?
    danke für die hilfe

    mfg thomas

    ...voriger code
    
    string portg = "4711";
    portg = Console.ReadLine();
    TcpClient c = new TcpClient ( "localhost", portg );   //hier passiert der fehler
    
    ...nachiger code
    


  • int.Parse(string)



  • Optimizer schrieb:

    int.Parse(string)

    so scheint es auf den ersten blick zu gehen..
    doch dann das große erwachen *gg*

    Int32 port = 4711;
    port = Console.ReadLine();   //FEHLER!!!
    

    Ok dann halt so... *g*

    Int32 port = 4711;
    port = Console.Read();   //mein Client connecte doch nicht oha
    

    Dann musste ich halt mal prüfen, das ging so:

    Int32 port = 4711;
    port = Console.Read();   
    Console.WriteLine(port);
    

    Und dann dachte ich mir ob ich spinne???????????? *g*
    Wenn ich 1 eingebe ist port 49
    Wenn ich 2 eingebe ist port 50
    Wenn ich 3 eingebe ist port 51
    Wenn ich 23 eingebe ist port 50
    ????????????????

    huh was ist da los *g*



  • najonajo schrieb:

    Optimizer schrieb:

    int.Parse(string)

    so scheint es auf den ersten blick zu gehen..
    doch dann das große erwachen *gg*

    Int32 port = 4711;
    port = Console.ReadLine();   //FEHLER!!!
    

    Ok dann halt so... *g*

    Int32 port = 4711;
    port = Console.Read();   //mein Client connecte doch nicht oha
    

    Dann musste ich halt mal prüfen, das ging so:

    Int32 port = 4711;
    port = Console.Read();   
    Console.WriteLine(port);
    

    Und dann dachte ich mir ob ich spinne???????????? *g*
    Wenn ich 1 eingebe ist port 49
    Wenn ich 2 eingebe ist port 50
    Wenn ich 3 eingebe ist port 51
    Wenn ich 23 eingebe ist port 50
    ????????????????

    huh was ist da los *g*

    Was du brauchst, ist ein Int32. Console.Read() gibt dir ein Zeichen, das Zeichen '1' hat den Code 49. Das wolltest du natürlich nicht.
    Bleib bei deinem ReadLine, was dir nen String gibt. Diesen String verfütterst du an die Funktion int.Parse(meinString) und der macht dir ein schönes Int32 draus.



  • Hier vielleicht nochmal nen QC dazu:

    string port;
    port = Console.ReadLine();
    int port_int = int.Parse(port);
    

Anmelden zum Antworten