Как вычислить тригонометрическую функцию из другой тригонометрической функции?

Я делаю калькулятор. Вот мой метод по замене синуса в строке на его результат. Он работает, может вычислить sin((35+10)*2), но не может вычислить sin(sin((35+10)*2)).

static string SinReplace(string Line)
    {
        int SinIndexOf = Line.IndexOf("sin(");

        while (SinIndexOf != -1)
        {
            string Sin = "";
            int OpenBracketCount = 0;
            int ClosebracketCount = 0;

            for (int i = SinIndexOf; i < Line.Length; i++)
            {
                Sin += Line[i];

                if (Line[i] == '(')
                    OpenBracketCount++;

                if (Line[i] == ')')
                    ClosebracketCount++;

                if (OpenBracketCount == ClosebracketCount && OpenBracketCount != 0 && ClosebracketCount != 0)
                    break;
            }

            Sin = Sin.Substring(4, Sin.Length - 5);

            double Result = Math.Sin((Math.PI / 180) * Convert.ToDouble(new DataTable().Compute(Sin, "")));
            Line = Line.Remove(SinIndexOf, Sin.Length + 5);
            Line = Line.Insert(SinIndexOf, Result.ToString());

            SinIndexOf = Line.IndexOf("sin(");
        }
        return Line;
    }

Ответы (0 шт):