Saltar al contenido

Traducción de la sintaxis de la consulta y del método en C#

Vamos a crear una pequeña demostración que utiliza LINQ para filtrar los números de lotería más altos que un valor especificado.

1234567891011121314151617181920212223242526 usando System.Linq;usando System.Collections. Generic;namespace {publicclassLinqing{publicstaticvoidMain(){int[] lottery =newint[]{11,22,33,44,55,66}; IEnumerable<int> lotteryQuery =de lote en lotería donde lote;20seleccionar lote;foreach(int i en loteríaQuery){ Console.Write(i +" ");} Consola.LeerClave();}}

csharp

Traducción de la sintaxis de la consulta y del método en C#
Traducción de la sintaxis de la consulta y del método en C#

El resultado es el siguiente.

12233445566

bash

En el corazón de esto se encuentra la consulta LINQ, que es muy similar a las consultas SQL que a la mayoría de nosotros nos gusta escribir. La cláusula «dónde» define el filtro de arriba en el que estamos interesados. Entonces foreach nos permite tomar los valores atrapados en el filtro.

123del lote en la loteríadonde se selecciona el lote;

csharp

La sintaxis de la consulta y del método son semánticamente idénticas, pero la mayoría de los desarrolladores, incluido yo, encuentran la sintaxis de la consulta más fácil de leer y de solucionar problemas. La documentación de referencia para los operadores de la consulta se puede encontrar aquí. Podríamos decir que estos dos enfoques son sólo herramientas diferentes para el mismo trabajo. Entre bastidores, el compilador siempre convierte la sintaxis de la consulta en sintaxis del método, ya que necesita llamadas a funciones.

Podemos convertir nuestra sintaxis de consulta en sintaxis de método de esta manera.

1IEnumerable<int;;loteríaQuery = lotería.Where(num =;num >20);

csharp

Iterar sobre los resultados en el bucle for produce los mismos resultados. Si comprobáramos el tipo de la variable de salida, se revelaría que es una instancia de la clase IEnumerable.

La regla general para la sintaxis del método o de la consulta es:

  1. Especificar dónde seleccionar
  2. Filtrar si es necesario
  3. Ordene si es necesario
  4. Captura los resultados

Con la sintaxis del método tenemos funciones como:

  1. Seleccione()
  2. Donde()
  3. OrdertBy()
  4. etc.