delegate double ProcessDelegate(double param1, double param2);
static double Multiply(double param1,double param2) => param1*param2;
static double Add(double param1,double param2) => param1+param2;
static double Subtract(double param1,double param2) => param2-param1;
static double Divide(double param1,double param2) => param1/param2;
public static void Main()
Console.WriteLine("Enter 2 numbers and seperate them with a semicolon(;)");
string numbers = Console.ReadLine();
int sColonpos = numbers.IndexOf(';');
double param1 = Convert.ToDouble(numbers.Substring(0,sColonpos));
double param2 = Convert.ToDouble(numbers.Substring(sColonpos+1,numbers.Length- sColonpos -1));
Console.Write("Enter M to multiply, D to divide, A to add, or S to subtract the 2nd number from the 1st number:");
char input = Convert.ToChar(Console.ReadLine());
Console.Write("Multiply: {0} X {1} = ",param1,param2);
Console.Write("Divide: {0} / {1} = ",param1,param2);
Console.Write("Add: {0} + {1} = ",param1,param2);
Console.Write("Subtract: {0} X {1} = ",param2,param1);
Console.Write("Invalid Selection, Multiply Assumed... {0} X {1} = ",param1,param2);
Console.WriteLine(process(param1,param2));