Error in my Calculator in unity

,

I trying to create calculator here, however it can only calculate 1 digit number. When I try 2 digits number it’s calculate wrong. For example, I tried 11+1 but the answer is 2.

using System.Collections;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class Calculator : MonoBehaviour
{
    [SerializeField]
    Text inputField;

    string inputString;
    int[] number = new int[2];
    string operatorSymbol;
    int i = 0;
    int result;
    bool displayerResults = false;
    public void ButtonPressed()
    {
        if(displayerResults == true)
        {
            inputField.text = "";
            inputString = "";
            displayerResults = false;
        }
        string buttonValue = EventSystem.current.currentSelectedGameObject.name;
        inputString += buttonValue;

        int arg;
        if (int.TryParse(buttonValue, out arg))
        {
            if (i > 1) i = 0;
            number[i] = arg;
            i = i + 1;
        }
        else
        {
            switch (buttonValue)
            {
            case "+":
                operatorSymbol = buttonValue;
                break;
            case "-":
                operatorSymbol = buttonValue;
                break;
            case "x":
                operatorSymbol = buttonValue;
                break;
            case "÷":
                operatorSymbol = buttonValue;
                break;
            case "=":
                switch (operatorSymbol)
                {
                case "+":
                    result = number[0] + number[1];
                    break;
                case "-":
                    result = number[0] - number[1];
                    break;
                case "x":
                    result = number[0] * number[1];
                    break;
                case "÷":
                    result = number[0] / number[1];
                    break;
                }
                displayerResults = true;
                inputString = result.ToString();
                number = new int[2];
                break;
            }
        }
        inputField.text = inputString;
    }
}

}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class Calculator : MonoBehaviour
{
    [SerializeField]
    Text inputField;

    string inputString;
    int[] number = new int[2];
    string operatorSymbol;
    int i = 0;
    int result;
    bool displayerResults = false;
    public void ButtonPressed()
    {
        if(displayerResults == true)
        {
            inputField.text = "";
            inputString = "";
            displayerResults = false;
        }
        string buttonValue = EventSystem.current.currentSelectedGameObject.name;
        inputString += buttonValue;

        int arg;
        if (int.TryParse(buttonValue, out arg))
        {
            if (i > 1) i = 0;
            number = arg;
            i = i + 1;
        }
        else
        {
            switch (buttonValue)
            {
            case "+":
                operatorSymbol = buttonValue;
                break;
            case "-":
                operatorSymbol = buttonValue;
                break;
            case "x":
                operatorSymbol = buttonValue;
                break;
            case "÷":
                operatorSymbol = buttonValue;
                break;
            case "=":
                switch (operatorSymbol)
                {
                case "+":
                    result = number[0] + number[1];
                    break;
                case "-":
                    result = number[0] - number[1];
                    break;
                case "x":
                    result = number[0] * number[1];
                    break;
                case "÷":
                    result = number[0] / number[1];
                    break;
                }
                displayerResults = true;
                inputString = result.ToString();
                number = new int[2];
                break;
            }
        }
        inputField.text = inputString;
    }
}

Oh it’s still doesn’t work, all I want is to make 10+1= 11. and other more than 2 digits number working correctly in what it should be.

Actually i didn’t do any thing, but i made the first reply to correct the formatting of the code so i can read it and help you.
your problem is that the code does not allow you to store two digits integer, why???
Because every time you press on a digit you immediately store it in the array (in line 32 to line 34), so if you want to type 11, will press 1 and your code will store that 1 in the first index in the array, then you press 1 again and the code will store it in second index of the array.
that will end up having an array like this:

number[0] = 1;
number[1] = 1;

that’s why you get answer equals to 2.

To solve this, you should only store the integer after you press on operator symbol.
declare the number array as public public int[ ] number; so you can see it in the inspector.

Now everytime I press it is equal to zero so which correct line I should declare the integer (line from my old code)

below my new code with new error.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class Calculator : MonoBehaviour
{
    [SerializeField]
    Text inputField;
    string inputString;
    int[] number = new int[2];
    string operatorSymbol;
    int i = 0;
    int result;
    bool displayerResults = false;
    public void ButtonPressed()
    {
        if(displayerResults == true)
        {
            inputField.text = "";
            inputString = "";
            displayerResults = false;
        }
        string buttonValue = EventSystem.current.currentSelectedGameObject.name;
        inputString += buttonValue;
        int arg;
        if (int.TryParse(buttonValue, out arg))
        {
           
        }
        else
        {
            switch (buttonValue)
            {
            case "+":
                operatorSymbol = buttonValue;
                    if (i > 1) i = 0;
                    number[i] = arg;
                    i = i + 1;
                    break;
            case "-":
                operatorSymbol = buttonValue;
                    if (i > 1) i = 0;
                    number[i] = arg;
                    i = i + 1;
                    break;
            case "x":
                operatorSymbol = buttonValue;
                    if (i > 1) i = 0;
                    number[i] = arg;
                    i = i + 1;
                    break;
            case "÷":
                operatorSymbol = buttonValue;
                    if (i > 1) i = 0;
                    number[i] = arg;
                    i = i + 1;
                    break;
            case "=":
                    switch (operatorSymbol)
                {
                case "+":
                    result = number[0] + number[1];
                    break;
                case "-":
                    result = number[0] - number[1];
                    break;
                case "x":
                    result = number[0] * number[1];
                    break;
                case "÷":
                    result = number[0] / number[1];
                    break;
                }
                displayerResults = true;
                inputString = result.ToString();
                number = new int[2];
                break;
            }
        }
        inputField.text = inputString;
    }
}

Sorry I am new here I don’t know much, please help me