¿Puede ser ventajoso que un método devuelva IOrderedEnumerable en lugar de IEnumerable?¿Puede ser ventajoso que un método devuelva IOrderedEnumerable <T> en lugar de IEnumerable <T>?
5
A
Respuesta
5
Solo si espera que las personas lo hagan cada vez que lo hagan y les resultará difícil encontrar la manera de hacerlo O si puede proporcionar una colección que implemente esa interfaz que pueda ordenar eficientemente sus contenidos y se vincule con un método de extensión que conoce su colección.
La mejor opción es devolver un tipo de colección específico (ver Richter para más detalles al respecto). 99 de cada 100 veces, quien obtiene incluso un enumerable simple puede usar los métodos estándar de extensión de linq para ordenarlo si lo desean.
2
Específicamente, valdría la pena hacerlo si tiene sentido para otras llamadas .ThenBy
, y no de otro modo.
Cuestiones relacionadas
- 1. No se puede entrar en un método que devuelva IEnumerable <T>?
- 2. Cómo convertir un IEnumerable <IEnumerable <T>> a un IEnumerable <T>
- 3. C#: ¿Cómo implementar IOrderedEnumerable <T>
- 4. C#: ¿Es posible devolver un IOrderedEnumerable <T>?
- 5. Obtener un IEnumerable <T> de un IEnumerable <IEnumerable <T>>
- 6. ¿Puedo tener un método que devuelva IEnumerator <T> y usarlo en un bucle foreach?
- 7. convertir un IOrderedEnumerable <KeyValuePair <string, int>> en un diccionario <string, int>
- 8. C# No se puede convertir de IEnumerable <Base> a IEnumerable <Derived>
- 9. IEnumerable <IEnumerable <T>> IEnumerable a <T> usando LINQ
- 10. Cómo puedo dividir un IEnumerable <String> en grupos de IEnumerable <string>
- 11. ¿Cómo regreso IEnumerable <T> de un método
- 12. IEnumerable <> to IList <>
- 13. Fundición de IEnumerable <Object> a IEnumerable <string>
- 14. La agrupación de artículos idénticos consecutivos: IEnumerable <T> a IEnumerable <IEnumerable <T>>
- 15. parámetro de acción en el que <T1, T2, T3> T3 puede ser opcional
- 16. ¿Por qué una función que toma IEnumerable <interface> no acepta IEnumerable <class>?
- 17. ¿Cómo se puede convertir un IEnumerable <t> o IQueryable <t> en un EntitySet <t>?
- 18. no puede convertir List <KeyValuePair <...,...>> IEnumerable a <object>?
- 19. Cómo ordenar un IEnumerable <string>
- 20. devolviendo un genérico IEnumerable <T>
- 21. <? Php en lugar de <?
- 22. ¿Hay un método de Linq para agregar un solo elemento a un IEnumerable <T>?
- 23. Mejor forma de consumir un IEnumerable <IEnumerable <string>>
- 24. Por qué IEnumerable <T> se define como IEnumerable <out T>, no IEnumerable <T>
- 25. "Girar" un IEnumerable <IEnumerable <T>> 90 grados
- 26. Cómo crear un tipo que implementan IDictionary <'K, 'V> y IEnumerable <'V>
- 27. Aplanar IEnumerable <IEnumerable <>>; la comprensión de los genéricos
- 28. Cuente con un IEnumerable <dynamic>
- 29. Recreando un diccionario de un IEnumerable <KeyValuePair <>>
- 30. ¿Por qué IList <T> no tiene Insertar métodos que toman IEnumerable <T>?