2016-05-03 14 views
4

Gibt es eine Funktion in C#, die bereits einen Monatsnamen in die entsprechende Monatsnummer ändern kann? Wenn nicht, sollte ich eine Methode (wie die Verwendung von "Switch" oder eine Loop-Funktion), die dies möglich macht?C# - Die beste Methode zum Konvertieren von Monatsnamen in ihre Monatsnummer

Ich frage, weil ich sauberen Code haben möchte und nicht eine riesige Sauerei in meinem Code. Vielen dank im Voraus

Antwort

10
DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture).Month 
+0

Danke, das ist es! – Tscott

0

können Sie verwenden:

Convert.ToDateTime(monthName + " 01, 1900").Month; 

oder

Array.IndexOf(DateTimeFormatInfo.CurrentInfo.MonthNames, 
       monthName.ToLower(CultureInfo.CurrentCulture)) + 1; 

und auch

Array.FindIndex(DateTimeFormatInfo.CurrentInfo.MonthNames, 
       m => m.Equals(monthName, StringComparison.OrdinalIgnoreCase)) + 1;