Usando el estilo de expresión de consulta, la cláusula let se puede escribir fácilmente. Mi pregunta es cómo usar el estilo de notación de puntos para escribir una cláusula let.Cómo escribir una cláusula let usando el estilo de notación de puntos
14
A
Respuesta
16
Esencialmente es un Select
(en la mayoría de los casos) que introduce un identificador transparente - a través de un tipo anónimo que encapsula todas las variables de rango actualmente especificados. Por ejemplo, la siguiente consulta:
string[] names = { "Jon", "Mark" };
var query = from name in names
let length = name.Length
where length > 3
select name + ": " + length;
se traduce en algo como esto:
var query = names.Select(name => new { name, length = name.Length })
.Where(z => z.length > 3)
.Select(z => z.name + ": " z.length);
Cuestiones relacionadas
- 1. Comprobando un diccionario usando una cadena de notación de puntos
- 2. notación de puntos de JavaScript
- 3. LINQ: equivalente notación de puntos para JOIN
- 4. Usando Let in Scheme
- 5. ¿Qué es esta sintaxis de Objective-C, notación de puntos de estilo elipse? "..."
- 6. Java múltiples argumentos de puntos notación - Varargs
- 7. Scala - infijo vs notación de puntos
- 8. Path.Combine y la notación de puntos
- 9. notación de puntos de estilo Javascript para las teclas del diccionario unpythonic?
- 10. Cómo escribir sin la notación do
- 11. forma libre puntos frente estilo
- 12. Usando let in .hs file
- 13. funciones simples de Haskell en estilo sin puntos
- 14. MongoDB/PyMongo: ¿Cómo usar la notación de puntos en una función de Mapa?
- 15. Cómo nieva en Google, al escribir Let it snow
- 16. ¿Cómo puedo invocar una función miembro usando notación de corchetes?
- 17. estilo de LINQ, encadenando cláusula where vs y el operador
- 18. Notación de puntos en Objective-C con métodos de clase?
- 19. Notación libre de puntos, recurrencia y coincidencia de patrones
- 20. mongodb indización de campos incrustados (notación de puntos)
- 21. LINQ: Notación de puntos frente a Expresión de consulta
- 22. ¿Cómo convertir una cadena de notación científica a notación decimal?
- 23. ¿Cómo escribir la plantilla de estilo para el control emergente?
- 24. LET versus LET * en Common Lisp
- 25. estilo de estilo Lisp `let` sintaxis en Python lista por comprensión
- 26. "<-" enlaces en notación
- 27. Transformar una función en un estilo sin puntos cambia su tipo
- 28. Cómo escribir ":" ("dos puntos") en expresiones regulares?
- 29. Coincidencia de patrones en una expresión let
- 30. Cómo crear un nuevo ámbito usando let in F #?
No es mi intención criticar su respuesta (en contra de lo aprecio), pero ya que se podía utilizar la cláusula let para escribir un método mucho más complicado y en su ejemplo aquí, la notación de punto ya es más larga y menos legible que la contraparte exp de la consulta, considero que este es otro caso donde la exp de consulta es más preferible que la nación punto. El otro caso que conozco implica escribir uniones. ¿Estaría de acuerdo con esa observación? Gracias por tu respuesta. –
@Khnle: Probablemente es una cuestión de preferencia personal. De hecho, prefiero el aspecto de la notación de punto en este caso. Una vez que te acostumbras a la sintaxis lambda, es bastante fácil de leer, más descriptivo de lo que realmente sucede debajo del capó, y no requiere el azúcar sintáctico adicional de la declaración 'let'. –
@Khnle: Sí, generalmente encuentro que las expresiones de consulta que introducen identificadores transparentes (incluyendo let y join) son más legibles que sus equivalentes de notación de punto. Aunque Robert tiene razón, definitivamente es una preferencia personal. –