public void CalculatorButtonClicked(object keyData) { CalculatorKeyData calculatorKeyData = (CalculatorKeyData)keyData; var value = calculatorKeyData.KeyName; if (operationStringArr.Any(x => ResultString.EndsWith(x) && ResultString.EndsWith(value))) { return; } if (value == "C") { ResultString = "0"; return; } if (ResultString == "0" || ResultString == "E") { ResultString = ""; } //restricts the calculator input to max of 15 character length if (ResultString.Length >= 15 && !operationStringArr.Any(x => ResultString.Contains(x))) { return; } else if (ResultString.Length >= 15 && value != "=") { return; } ResultString += Convert.ToString(value); if (value == "=") { try{ ResultString = new DataTable().Compute(ResultString.TrimEnd('='), null).ToString(); } catch (Exception ex) { //returns error to user if any operation in the screen results in and error during parsing and computation ResultString = "E"; } } }