2009-05-06 11 views
6

¿Es posible devolver un IOrderedEnumerable<T> desde un método sin utilizar los métodos OrderBy o OrderByDescending en un IEnumerable<T>?C#: ¿Es posible devolver un IOrderedEnumerable <T>?

Supongo que quizás no ... pero ... ¿tal vez estoy equivocado?


Motivo: Parcialmente curiosidad. Simplemente me golpeó al hacer this answer al devolver los dígitos en un número. Y mi método devolvería los dígitos en orden ascendente, de acuerdo con su peso en el número dado. Así que pensé que podría ser bueno si salieran ordenados de una manera que el marco reconocería como ordenado también. Por supuesto, podemos argumentar que desde un punto de vista común no fueron ordenados. Pero sí ... si deberían o no deberían, no era el punto aquí. Solo si fue posible o no.

Supongo que también estoy implicando una pregunta (o al menos ahora) si un IOrderedEnumerable<T> es más que un IEnumerable<T> con un nombre diferente. ¿Contiene algo más? Sé que tiene los métodos ThenBy y ThenByDescending, pero ¿usan algo dentro del IOrderedEnumerable<T>, o es simplemente que no tienen sentido usarlo directamente en un IEnumerable<T>?

+0

¿Y por qué necesita este tipo? – Migol

+0

¿Quieres una colección ordenada? –

Respuesta

2

Bueno, puede implementar IOrderedEnumerable<T> usted mismo si quiere ... no es enormemente difícil, dependiendo de lo que necesite hacer. La opción más fácil es simplemente llamar al OrderBy/OrderByDescending :) :)

¿Por qué estás interesado?

Cuestiones relacionadas