Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Parse string to int array

Hi there I am working on increasing my knowledge of C# and I want to do a simple task but am finding it difficult.

I want to parse each character of a string to an int array.

    int[] d = new int[10];
     private void button1_Click(object sender, EventArgs e)
    {
        s = textBox1.Text;

        d[2] = Convert.ToInt32(Convert.ToString(s[1]));
        d[3] = Convert.ToInt32(Convert.ToString(s[2]));
        d[4] = Convert.ToInt32(Convert.ToString(s[3]));
        d[5] = Convert.ToInt32(Convert.ToString(s[4]));
        .....

I know the code is wrong but I wanted to show an example. Have looked at Google for the past hour but have found people wanting to display characters in new lines and using if statements to parse. I want something similar to above. Can this be done? Thank you for your time.

I found this line of code in Java which is exactly what I want to do but is there an equivilant?

    d1 = Integer.parseInt(String.valueOf(s.charAt(0)));

I now have a new problem that when i submit a number no matter how many numbers i put in it will come back with "Index was outside the bounds of the array."

I also need to limit it to 10 integers in the array d.

like image 737
Marshal Avatar asked May 20 '26 22:05

Marshal


2 Answers

Wrong brackets, to access the character within string.

d[2] = Convert.ToInt32(Convert.ToString(s(1)));
                                         ^

Use,

d[2] = Convert.ToInt32(Convert.ToString(s[1]));
like image 186
Anirudh Ramanathan Avatar answered May 22 '26 10:05

Anirudh Ramanathan


 var intArr =  "12345678".Select(c => (int)(c-'0')).ToArray();
like image 28
L.B Avatar answered May 22 '26 10:05

L.B



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!