2015-03-02 25 views
5

Sono vincolato a una casella combinata utilizzando enumerable.range() e funziona correttamente. Ora sto cercando di visualizzare i risultati in ordine decrescente, come posso farlo?Intervallo enumerabile in ordine decrescente

cboYearList.ItemsSource = Enumerable.Range(DateTime.Today.Year,1950).ToList().OrderByDescending(); 
+0

È possibile provare a ordinare i dati prima di impostare gli elementi Origine della casella combinata. – Mathemats

+0

grazie Grant Winney –

risposta

6

È possibile Reverse l'elenco dopo aver creato con Enumerable.Range:

cboYearList.ItemsSource = Enumerable.Range(DateTime.Today.Year, 1950).Reverse().ToList(); 

Oppure, se volete mantenere la vostra OrderByDescending, è necessario passare un selettore a chiave (la i => i alla fine):

cboYearList.ItemsSource = Enumerable.Range(DateTime.Today.Year,1950).OrderByDescending(i => i).ToList(); 
+0

grazie per il supporto: 'int numberOfyears = DateTime.Now.Year - 1900; cboYearList.ItemsSource = Enumerable.Range (1900, numberOfyears) .Reverse(). ToList(); ' –