C# WPF Калькулятор (ожидание следующего числа)
Друзья только изучаю С#, не бейте сильно плз.
Делаю калькулятор по аналогии стандартного windows. Хочу сделать не используя библиотеку которая за вас проводит расчеты.
В парсере не пойму как стирать число на циферблате когда вводится следующее число. Просто очистить поле ввода легко, но нужно именно когда вводится следующее.
Логика такая:
- Есть 2 поля циферблата (по аналогии с windows). В основном отображается большИм размером введенное число, чуть выше уже само выражение.
- Распознаю текст с кнопок, раскидываю по соответствующим полям.
- При вводе любого не числа, делаю вывод что первое число для расчетов готово, добавляю в массив + сохраняю оператор выражения.
- Не могу додуматься как удалять текст только при вводе следующего числа и сохранить собственно его. Ну и разумеется нужно как-то второе число записать в лист. Не знаю на сколько доступно объяснил, уже всю башку сломал себе... Если что сори за глупый вопрос, нахожусь в процессе изучения, делаю сам себе поставленную задачу (просто личная практика для освоения материала).
Буду благодарен любой помощи, но если будет хоть какое-то разъяснение решения 100500 плюсов вам в карму.
internal class Parser
{
MainWindow MainWindow;
string tempNum = "";
char tempOperator;
List<double> numbers = new List<double>();
public Parser(MainWindow mainWindow)
{
MainWindow = mainWindow;
}
public void ClickButton(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
string buttonText = (string)button.Content;
foreach (var item in buttonText)
{
if (char.IsDigit(item) || item == ',')
{
MainWindow.Dial.Text += buttonText;
}
else
{
tempNum = MainWindow.Dial.Text;
numbers.Add(double.Parse(tempNum));
tempOperator = item;
MainWindow.Dial_Operator.Text = $"{tempNum} {item}";
}
}
}
}