public static void Main()
MathProblems m = new MathProblems();
m.Calculate("15 + 2+6+2+7", Add);
m.Calculate("3 - 1 3", Subtract);
static int Add(string calculation)
int index = calculation.IndexOf(symbol);
string aStr = calculation.Substring(0, index);
string bStr = calculation.Substring(index + 1);
if (!int.TryParse(bStr, out b))
static int Subtract(string calculation)
int index = calculation.IndexOf(symbol);
string aStr = calculation.Substring(0, index);
string bStr = calculation.Substring(index + 1);
if (!int.TryParse(bStr, out b))
public class MathProblems
public delegate int CalculateDel(string str);
public void Calculate(string requirement, CalculateDel type)
var req = RemoveSpace(requirement);
int result = type.Invoke(req);
Console.WriteLine( req + "= " + result);
Console.WriteLine("Invalid");
static string RemoveSpace(string initial)
return initial.Replace(" ", string.Empty);