2009-05-06 15 views
6

E 'possibile restituire un IOrderedEnumerable<T> da un metodo senza utilizzare i metodi o OrderByDescending su un IEnumerable<T>?C#: È possibile restituire un IOrderedEnumerable <T>?

Suppongo che forse non ... ma ... forse mi sbaglio?


Motivo: Principalmente la curiosità. Mi colpisce quando eseguo this answer restituendo cifre in un numero. E il mio metodo restituirebbe le cifre in ordine ascendente, in base al loro peso nel numero specificato. Quindi ho pensato che sarebbe stato bello se fossero usciti ordinati in un modo che anche la struttura avrebbe riconosciuto come ordinata. Ovviamente possiamo sostenere che dal punto di vista del numero comune non sono stati ordinati. Ma sì ... se dovessero o non dovessero, non era il punto qui. Solo se fosse possibile o no.

Immagino di essere anche una specie di implicare una domanda (o almeno ora lo sono) se uno IOrderedEnumerable<T> è più di un semplice IEnumerable<T> con un nome diverso. Contiene qualcosa di più? so che ha i metodi ThenBy e ThenByDescending, ma usano qualcosa all'interno dello IOrderedEnumerable<T>, o è solo che non hanno senso usare direttamente su un IEnumerable<T>?

+0

E perché avete bisogno di questo tipo? – Migol

+0

Vuoi una collezione ordinata? –

risposta

2

Bene, è possibile implementare IOrderedEnumerable<T> da soli se si desidera anche ... non è enormemente difficile, a seconda di cosa è necessario fare. L'opzione più semplice è chiamare semplicemente OrderBy/OrderByDescending :)

Perché sei interessato?

Problemi correlati