Domanda

È possibile restituire un IOrderedEnumerable < T > da un metodo senza utilizzare i metodi OrderBy o OrderByDescending su un IEnumerable < ; T >?

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


Motivo: principalmente curiosità. Mi ha colpito quando ho realizzato questa risposta sulla restituzione delle cifre in un numero. E il mio metodo restituirebbe le cifre in ordine crescente, in base al loro peso nel numero indicato. Quindi ho pensato che sarebbe stato bello se fossero stati ordinati in un modo che anche il framework avrebbe riconosciuto come ordinato. Naturalmente possiamo sostenere che da un punto di vista numerico comune non sono stati ordinati. Ma sì ... se dovrebbero o non dovrebbero essere il punto qui. Solo se fosse possibile o no.

Immagino anche di implicare una domanda (o almeno adesso) se un 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 dei IOrderedEnumerable < T > , o è solo che non lo fanno non ha senso utilizzare direttamente su un IEnumerable < T > ?

È stato utile?

Soluzione

Beh, puoi implementare IOrderedEnumerable < T > se vuoi anche tu ... non è enormemente difficile, a seconda di ciò che devi fare. L'opzione più semplice è solo chiamare OrderBy / OrderByDescending però :)

Perché sei interessato?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top