Индекс выходить за границы массивы С#

107
15 октября 2019, 22:40

Пишу программу, которая переводит число из одной системы счисления в другую, в самом конце программы, когда нужно выводить результат, вылетает ошибка "System.IndexOutOfRangeException: "Индекс находился вне границ массива." " В comboBox1-выбираем систему счисления начального числа (от 2 до 16) В textBox1-вводим само число В comboBox2-выбираем систему счисления конечного числа (от 2 до 16) В textBox1-выводим результат На названия переменных не обращайте внимания(им названия давал не я), так как перевожу уже сделанную программу товарищем с С++ на С#.

private void button1_Click(object sender, EventArgs e)
    {
        double Value = 0;
        int inputSystem = Convert.ToInt32(comboBox1.Text);
        string Number = textBox1.Text.ToLower();
        string result="";
        int CharValue = 0;
        for (int i = 1; i < Number.Length; i++)
        {
            switch (Number[i])
            {
                case 'a': { CharValue = 10; break; }
                case 'b': { CharValue = 11; break; }
                case 'c': { CharValue = 12; break; }
                case 'd': { CharValue = 13; break; }
                case 'e': { CharValue = 14; break; }
                case 'f': { CharValue = 15; break; }
                default: { CharValue = Convert.ToInt32(Number[i]); break; }
            }
            Value += CharValue * Pow(inputSystem, Number.Length - i);
        }
        string outputValue = "";
        CharValue = 0;
        while (Value > 0)
        {
            CharValue = Convert.ToInt32(Value % Convert.ToInt32(comboBox2.Text));
            switch (CharValue)
            {
                case 10: { outputValue += 'A';break; }
                case 11: { outputValue += 'B'; break; }
                case 12: { outputValue += 'C'; break; }
                case 13: { outputValue += 'D'; break; }
                case 14: { outputValue += 'E'; break; }
                case 15: { outputValue += 'F'; break; }
                default: { outputValue += Convert.ToString(CharValue); break; }
            }
            Value /= Convert.ToInt32(comboBox2.Text);
        }
        for (int i = outputValue.Length; i>=1; i--)
        {
            result += outputValue[i]; // вот тут описанная выше ошибка
        }
        textBox2.Text = result;
    }
READ ALSO
Как в БД записать сложный объект C#?

Как в БД записать сложный объект C#?

Значит у меня есть база данных следующей схемы :

124
Как подключить к одной базе данных localDB два проекта в одном решении?

Как подключить к одной базе данных localDB два проекта в одном решении?

В одном проекте заполняется база данных с моделью, нужно в другом проекте их взятьЧто нужно для этого настроить что бы база с моделью была...

124
Проблема с классами (возможно с классами)

Проблема с классами (возможно с классами)

В общем такое делоНа днях надумал соорудить игру, эдакую экономическую стратегию

95