C #: Est-il possible de renvoyer un IOrderedEnumerable < T > ;?
-
06-07-2019 - |
Question
Est-il possible de renvoyer une IOrderedEnumerable < T >
à partir d'une méthode sans utiliser les méthodes OrderBy
ou OrderByDescending
sur un IEnumerable < ; T >
?
Je ne devine peut-être pas ... mais ... peut-être que je me trompe?
Raison: principalement de la curiosité. Cela me frappe un peu lorsque je fais cette réponse lors du renvoi des chiffres d'un nombre. Et ma méthode renverrait les chiffres dans l'ordre croissant, en fonction de leur poids dans le nombre donné. J'ai donc pensé que ce serait bien s'ils sortaient ordonnés de manière à ce que le cadre reconnaisse également l'ordre. Bien sûr, nous pouvons affirmer que d’un point de vue commun, ils n’ont pas été commandés. Mais oui ... s'ils ne devraient pas ou ne devraient pas être le but ici. Juste si c'était possible ou non.
Je suppose que je sous-entends aussi une question (ou du moins du moins maintenant) sur le fait de savoir si IOrderedEnumerable < T >
est plus qu'un simple IEnumerable < T >
avec un nom différent. Contient-il quelque chose de plus? Je sais qu'il utilise les méthodes ThenBy
et ThenByDescending
, mais utilise-t-il quoi que ce soit à l'intérieur du IOrderedEnumerable < T >
, ou est-ce simplement qu'ils ne n’a aucun sens à utiliser directement sur un IEnumerable < T >
?
La solution
Eh bien, vous pouvez mettre en œuvre IOrderedEnumerable < T >
si vous le souhaitez aussi ... ce n'est pas énormément , en fonction de vos tâches. L'option la plus simple consiste simplement à appeler OrderBy
/ OrderByDescending
si:)
Pourquoi êtes-vous intéressé?