Laden...

Monatszahl anhand des Namens konvertieren

Erstellt von Darkblue94 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.148 Views
D
Darkblue94 Themenstarter:in
4 Beiträge seit 2019
vor 4 Jahren
Monatszahl anhand des Namens konvertieren

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.
D
615 Beiträge seit 2009
vor 4 Jahren

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

16.806 Beiträge seit 2008
vor 4 Jahren

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.

T
20 Beiträge seit 2019
vor 4 Jahren

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.