private double MathOp(ContentElement firstDigit, ContentElement secondDigit, ContentElement operation) { double summ = 0; double firstDigitEl; double secondDigitEl; if (firstDigit.IsIndex()) { firstDigitEl = DigitValue(new CellIndex(firstDigit.Text())); } else { firstDigitEl = firstDigit.Value(); } if (secondDigit.IsIndex()) { secondDigitEl = DigitValue(new CellIndex(secondDigit.Text())); } else { secondDigitEl = secondDigit.Value(); } try { switch (operation.Text()) { case "+": { summ = firstDigitEl + secondDigitEl; break; } case "-": { summ = secondDigitEl - firstDigitEl; break; } case "*": { summ = secondDigitEl * firstDigitEl; break; } case "/": { summ = secondDigitEl / firstDigitEl; break; } case "^": { summ = Math.Pow(secondDigitEl, firstDigitEl); break; } } } catch (Exception ex) { Console.WriteLine("Ошибка: " + ex.Message + " Математическая опперация не выполнилась!"); } return(summ); }