Hallo Leute,
kurz zum Problem: 2 Textboxen, in die man jeweils den Monat als string eingibt, und dann die Differenz berechnet werden soll. Zb.: textBox1= Januar ; textBox2 = April;
4 - 1 = > "Das Alter beträgt 3 Monate"
Ich habe es mit IF probiert IF ( a == "Januar") {double b = 1};
usw.
Da dies zu vielen Seiten Schreibarbeit führt, hätte ich gerne gewusst, wie man die Monate als Array eingibt und diese Arrays dann jeweils einer Zahl zuweist?
Also:
string[] Monat = new string[12];
Monat[0] = "Januar" --> Soll jetzt als 1 abgespeichert werden, womit weiter gerechnet werden kann.
Hallo Darkblue94
Du könntest bspw. ein Enum erstellen ? l? :
None = 0,
Januar =1,
Februar =2
....
Dann könntest du den String in den Enum parsen und damit rechnen.
(MyEnum)Enum.Parse(typeof(MyEnum), stringInput);
Ich würde mir überlegen anstatt TextBoxen dann gleich DropDowns zu verwenden, dann kannst du den Value definieren. Dann könntest aber auch auf den Enum verzichten und als Value für Januar gleich 1 verwenden.
Beste Grüsse
Diräkt
Wenn Du einfach 20 Sekunden gegoogelt hättest, hättest Du sofort eine skalierbare und stabile Lösung gehabt 😃
Google-Suche nach month name to number c#
How to parse a month name (string) to an integer for comparison in C#?
Texteingaben sind für sowas natürlich suboptimal; der Weg der Dropbox ist 1000x besser.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Warum verwendest du zum auswählen der Monate keine Combobox.
Die könntest du an eine Liste mit den Monaten binden und die Monate als DisplayMemberPath und die Monatszahlen dann als SelectedValuePath.
So hast du sofort die Zahlen zur Verfügung.