¿Es IEnumerable<T>
? Hasta donde yo sé, la referencia siempre apunta a una instancia de clase. ¿A qué tipo de instancia apunta realmente la consulta LINQ?¿Cuál es el tipo de devolución de una consulta LINQ?
Respuesta
No lo sé, pero supongo que es un tipo interno. No tienes que pensar en la clase.
De hecho, podrían ser diferentes clases dependiendo de la consulta concreta. El compilador podría convertir la expresión LINQ a una u otra implementación dependiendo de las condiciones/procesamiento.
si no me equivoco, IEnumerable<T>
, donde T depende de su consulta
Supongo que quiere saber la clase concreta, no la interfaz. Por supuesto, es irrelevante (y puede ser diferente para cada consulta concreta) – helios
Dependiendo de la fuente de datos original, o bien es IEnumerable o IQueryable:
El resultado de una consulta de base de datos LINQ es típicamente IQueryable<T> que se deriva de IEnumerable < T>, IQueryable e IEnumerable.
Si la consulta de base de datos incluye una cláusula OrdenarPor, el tipo es IOrderedQueryable<T>, que se deriva de IQueryable < T>
Si el origen de datos es un IEnumerable, el tipo de resultado es IEnumerable<T>
Creo que quiere decir * clases * reales, no la interfaz. –
¿Alguna razón para votar por todas las demás respuestas? – devio
Me preguntaba lo mismo. Supongo que puede haber una sola respuesta correcta (en su mente) para una pregunta que en realidad puede tener múltiples respuestas dependiendo de cómo la interpretes. Por cierto, ¡me gusta tu respuesta hasta ahora! Veamos lo que el OP tenía en mente. – Maverik
puede encontrar out llamando al .GetType()
en su variable IEnumerable<T>
e inspeccionando el tipo en el depurador.
Para diferentes proveedores de LINQ e incluso diferentes métodos LINQ, dichos tipos pueden o no ser diferentes.
Lo que importa a su código es que todos ellos implementan IEnumerable<T>
que se debe trabajar, o IQueryable<T>
que también acepta expresiones, es decir, sus predicados y proyecciones se convertirán en árboles de sintaxis y pueden ser manipulados por un proveedor de LINQ en tiempo de ejecución, p.ej para ser traducido a SQL.
Las clases reales, si esto es lo que preguntas, incluso pueden ser generadas por el compilador, p. yield return
expresión se traduce a dicha clase.
De cualquier manera, suelen ser internos y nunca, alguna vez dependen de ellos.
Puede consultar here para Tres partes de la operación de consulta. Puede ver que el tipo de devolución de una consulta LINQ es IEnumerable < int>.
- 1. ¿Cuál es el tipo de devolución de mi consulta linq?
- 2. ¿Cuál es el tipo de devolución de una consulta de "recuento" contra MySQL utilizando Java JDBC?
- 3. ¿Cuál es el tipo de devolución de SUM() en mysql?
- 4. ¿cuál es el tipo de devolución de nuevo en C++?
- 5. List, IList, IEnumerable, IQueryable, ICollection, ¿cuál es el tipo de devolución más flexible?
- 6. ¿Es una buena práctica tener consulta de linq en Controladores?
- 7. InvalidCastException en una consulta LINQ
- 8. Convertir KeyValuePair al tipo anónimo en una consulta LINQ
- 9. ¿cuál es el propósito y el tipo de devolución del operador __builtin_offsetof?
- 10. ¿Cuál es el efecto de AsEnumerable() en una entidad LINQ?
- 11. Tipo de retorno para la Recolección de LINQ consulta
- 12. Devolución de una sola propiedad de un resultado de consulta LINQ
- 13. ¿Es una consulta de linq para ConcurrentDictionary Values threadsafe?
- 14. ¿Cuál es la forma más fácil de guardar una consulta LINQ para su uso posterior?
- 15. Tipo de devolución vararg?
- 16. ¿Cuál es el tipo de datos "átomo"?
- 17. ¿Cuál es el tipo de GUID?
- 18. ¿Cómo especifico el tipo de la variable de rango en una consulta LINQ?
- 19. LINQ: El operador de consulta 'ElementAtOrDefault' no es compatible
- 20. Java: ¿Cómo escribir una función `zip`? ¿Cuál debería ser el tipo de devolución?
- 21. ¿Es un error devolver una lista si el tipo de devolución es enumerable?
- 22. Haciendo una consulta LINQ mejor
- 23. Consulta DataColumnCollection con LINQ
- 24. ¿Sobrecarga en el tipo de devolución?
- 25. fechas en consulta utilizando LINQ
- 26. Cuál es el linq equivalente al operador SQL IN
- 27. ?: Operador en consulta LINQ
- 28. Usando una tupla o algún otro tipo complejo en una expresión de consulta Linq-to-Entities
- 29. Intersecar consulta LINQ
- 30. LINQ - 'el tipo de una de las expresiones en la cláusula join es incorrecto'
¿Por qué cerrar la pregunta? Enseña buenas prácticas de programación (mostrando lo que no debe depender de: implementación) – helios
Depende de qué es la consulta LINQ. –
Diría que necesitamos la motivación detrás de esta pregunta para poder responderla adecuadamente. – AakashM