2016-05-25 10 views
0

Ich habe eine Liste der Monate vom Typ "String". Ich versuche, diese in ein Datetime-Objekt zu analysieren, damit ich die Monate nach aktuellem Monat sortieren/bestellenZeichenfolge wurde nicht als gültiges Datetime mit einer Liste erkannt, die nur Monate enthält

List<String> test = new List<String>(Model.Attributes.Select(p => p.Title).ToList()); 
     var sortedMonths = test; 
      sortedMonths = sortedMonths 
      .Select(x => new { Name = x, Sort = DateTime.ParseExact(x.ToString(), "MMMM", System.Globalization.CultureInfo.CurrentCulture) }) 
      .OrderBy(x => x.Sort.Month) 
      .Select(x => x.Name) 
      .ToList(); 

ich die Liste Test ausfülle und nach dem Debuggen es zeigt es mit den Monaten gefüllt ist. Allerdings bekomme ich immer einen Fehler, wenn ich versuche, sie zu parsen. Ich habe versucht, einen Zeichenkettenmonat an der Stelle von "x" manuell einzugeben, um sicher zu wissen, wenn das Format funktioniert, und es tut. Ich kann das nicht herausfinden ...

EDIT: Ich habe auch schon versucht, die CurrentCulture manuell einzustellen.

+1

Was beinhaltet 'test' genau? Monatszahlen oder Namen? –

+0

Es enthält Namen, Entschuldigung für die Verwirrung, dh: "Januari", "Februari" etc. " –

+0

Was ist der Wert von' CurrentCulture' in Ihrem System? –

Antwort

0

Da jemand hier die Abfrage bearbeitet und Niederländisch mit englischen Monatsnamen gemischt hat, gab der Code Fehler. Der Code war vollständig und funktioniert nun wie vorgesehen, nachdem die Abfrage neu bearbeitet wurde, um nur noch holländische Namen zu geben. Danke euch allen!

Verwandte Themen