Przepraszam za temat posta, ale nie miałem szczególnej weny na takie pytanie.
Chcę stworzyć prosty kalkulator w C# w WPF.
kod jest z tutoriala, stąd pytam dla pewności.
**pierwsze pytanie: **
jeśli do none przypisujemy 0 to jak to jest traktowane w "enum"? jako int?
**druga główna sprawa: **
tworzymy obiekt LastOperation i przypisujemy mu Operation.none none = 0;
w przypadku gdy chcemy nacisnąć przecinek, musimy sprawdzić czy wśród podanej liczby nie ma już przecinka lub czy tekst nie jest pusty.
Jeśli sprawdzamy warunek : if (Operation.result == LastOperation ) to LastOperation ma wartość taką jak nowy obiekt ( domyślnie 0 <-> Operation.none) czy taką jaką przypisałem mu po raz ostatni w kodzie?
namespace KALKULATOR
{
enum Operation
{
none = 0, // brak operacji
addition, // dodawanie
subtraction, // odejmowanie
multiplication, // mnożenie
division, // dzielenie
result // wynik
}
public partial class MainWindow : Window
{
private Operation LastOperation = Operation.none;
public MainWindow()
{
InitializeComponent();
}
private void NumberButton_Click(object oSender, RoutedEventArgs eRoutedEventArgs)
{
if (Operation.result == LastOperation )
{
txtDisplay.Text = string.Empty;
LastOperation = Operation.none;
}
Button oButton = (Button)oSender;
txtDisplay.Text += oButton.Content;
}
private void CommaButton_Click(object oSender, RoutedEventArgs eRoutedEventArgs)
{
if (Operation.result == LastOperation )
{
txtDisplay.Text = string.Empty;
LastOperation = Operation.none;
}
if ((txtDisplay.Text.Contains(',')) || (0 == txtDisplay.Text.Length))
{
return;
}
txtDisplay.Text += ",";
}
}