String einer RichTextBox zu Int

  • Hi
    habe heute mal mit c# angefangen und wollte mir einen kleinen rechner machen.
    hier mal ein kleiner ausschnitt^^
    [cs]String[] values = richTextBox1.Text.Split( '+', '-', '*', '/');
    for (int i = 0; i < values.Length; i++)
    {
    int[] number = Convert.ToInt32(values[i]);
    }[/cs]
    hier sagt er mir jetzt allerdings, dass eine implizite konvertierung vom typ "int" in "int[]" nicht möglich ist?!
    hab es auch schon mit Int32.Parse() versucht, klappt aber auch nicht.
    wäre nett wenn mir jemand helfen könnte :)
    MfG

  • Du musst das int Array vor der Schleife deklarieren.


    also praktisch int[] myNumbers = new int[values.length] zum erstellen
    und dann kannst du mit myNumbers[i] auf die einzelnen Elemente zugreifen :)

  • int[] number = Convert.ToInt32(values[i]);


    Das rote wegnehmen, int[] ist ein array und kann nicht aus einem normalen int konvertiert werden.


    Btw: Es funktionieren keine BB-Farbcodes in einem BB-C#-Quelltext


    wenn ich das jetzt so mache, dann weiß ich aber nicht, wie ich dann z.B. zwei zahlen addieren soll
    also bei beispielsweise:
    [cs]int x = number[0] + number[1][/cs]
    da kommt dann der fehler, dass die indizierung mit [] nicht auf ein int angewandt werden kann.


    Du musst das int Array vor der Schleife deklarieren.


    also praktisch int[] myNumbers = new int[values.length] zum erstellen
    und dann kannst du mit myNumbers auf die einzelnen Elemente zugreifen


    wenn ich das direkt vor die schleife setze, dann kommt immer noch der fehler, dass eine konvertierung vom typ "int" in "int[]" nicht möglich ist^^

  • Ah ok dann hatte ich das falsch verstanden.


    [cs]String[] values = richTextBox1.Text.Split( '+', '-', '*', '/');
    int[] number = new int[values.Length];
    for (int i = 0; i < values.Length; i++)
    {
    number[i] = Convert.ToInt32(values[i]);
    }[/cs]


    wie dongdong schon gesagt hat, deklarierst du das int[] vor der schleife und weist dann am index i den wert zu. Das int[] hat die länge das string[].

  • Du musst das int Array vor der Schleife deklarieren.


    also praktisch int[] myNumbers = new int[values.length] zum erstellen
    und dann kannst du mit myNumbers[i] auf die einzelnen Elemente zugreifen :)



    ah danke euch, jetzt funktionierts :)
    kann glaube ich erst mal closed^^