LINQ - Operadores de consulta

Un conjunto de métodos de extensión que forman un patrón de consulta se conoce como Operadores de consulta estándar LINQ. Como bloques de construcción de expresiones de consulta LINQ, estos operadores ofrecen una gama de capacidades de consulta como filtrado, clasificación, proyección, agregación, etc.

Los operadores de consulta estándar de LINQ se pueden clasificar en los siguientes en función de su funcionalidad.

  • Operadores de filtrado
  • Unirse a los operadores
  • Operaciones de proyección
  • Operadores de clasificación
  • Operadores de agrupación
  • Conversions
  • Concatenation
  • Aggregation
  • Operaciones cuantificadoras
  • Operaciones de partición
  • Operaciones de generación
  • Establecer operaciones
  • Equality
  • Operadores de elementos

Operadores de filtrado

El filtrado es una operación para restringir el conjunto de resultados de modo que solo tenga elementos seleccionados que satisfagan una condición particular.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
dónde Filtrar valores basados ​​en una función de predicado dónde Dónde
OfType Filtrar valores según su capacidad para ser como un tipo específico No aplica No aplica

Unirse a los operadores

Unirse se refiere a una operación en la que se apuntan fuentes de datos con relaciones difíciles de seguir entre sí de manera directa.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Unirse El operador une dos secuencias sobre la base de claves coincidentes unirse ... en ... en ... es igual a ... Desde x In…, y In… Donde xa = ya
GrupoUnirse Une dos secuencias y agrupa los elementos coincidentes unirse ... en ... en ... es igual a ... en ... Unirse al grupo ... En ... El ...

Operaciones de proyección

La proyección es una operación en la que un objeto se transforma en una forma completamente nueva con solo propiedades específicas.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Seleccione El operador proyecta valores sobre la base de una función de transformación Seleccione Seleccione
Seleccionar muchos El operador proyecta las secuencias de valores que se basan en una función de transformación y las aplana en una sola secuencia. Usar múltiples cláusulas from Usar múltiples cláusulas From

Operadores de clasificación

Una operación de clasificación permite ordenar los elementos de una secuencia sobre la base de uno o más atributos.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
OrderBy El operador ordena los valores en orden ascendente ordenar por Ordenar por
OrderByDescending El operador ordena los valores en orden descendente orden por ... descendente Ordenar por ... Descendente
Entonces por Ejecuta una clasificación secundaria en orden ascendente orderby…,… Ordenar por…,…
ThenByDescending Ejecuta una clasificación secundaria en orden descendente. orderby ..., ... descendiendo Ordenar por…,… Descendente
Contrarrestar Realiza una inversión del orden de los elementos en una colección. No aplica No aplica

Operadores de agrupación

Los operadores colocan los datos en algunos grupos basándose en un atributo compartido común.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Agrupar por Organizar una secuencia de elementos en grupos y devolverlos como una colección IEnumerable de tipo IGrouping <clave, elemento> agrupar ... por -o- grupo ... por ... en ... Agrupar ... Por ... En ...
Para buscar Ejecutar una operación de agrupación en la que se devuelve una secuencia de pares de claves. No aplica No aplica

Conversiones

Los operadores cambian el tipo de objetos de entrada y se utilizan en una amplia gama de aplicaciones.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
AsEnumerable Devuelve la entrada escrita como IEnumerable <T> No aplica No aplica
AsQueryable Un IEnumerable (genérico) se convierte en un IQueryable (genérico) No aplica No aplica
Emitir Realiza la conversión de elementos de una colección a un tipo específico Utilice una variable de rango escrita explícitamente. Por ejemplo: de la cadena str en palabras De ... Como ...
OfType Filtra los valores en función de su, según su capacidad para convertirse en un tipo particular No aplica No aplica
ToArray Fuerza la ejecución de la consulta y convierte una colección en una matriz No aplica No aplica
ToDictionary Sobre la base de una función de selector de teclas, establezca elementos en un Dictionary <TKey, TValue> y fuerce la ejecución de una consulta LINQ No aplica No aplica
Listar Fuerza la ejecución de una consulta convirtiendo una colección en List <T> No aplica No aplica
Para buscar Fuerza la ejecución de una consulta y coloca elementos en una búsqueda <TKey, TElement> sobre la base de una función de selector de teclas No aplica No aplica

Concatenación

Realiza la concatenación de dos secuencias y es bastante similar al operador de la Unión en términos de su funcionamiento, excepto por el hecho de que no elimina los duplicados.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Concat Se concatenan dos secuencias para la formación de una sola secuencia. No aplica No aplica

Agregación

Realiza cualquier tipo de agregación deseada y permite crear agregaciones personalizadas en LINQ.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Agregar Opera sobre los valores de una colección para realizar una operación de agregación personalizada No aplica No aplica
Promedio Se calcula el valor medio de una colección de valores No aplica Agregado ... en ... en promedio ()
Contar Cuenta los elementos que satisfacen una función de predicado dentro de la colección No aplica Agregado ... en ... en recuento ()
LonCount Cuenta los elementos que satisfacen una función de predicado dentro de una colección enorme No aplica Agregado ... en ... en LongCount ()
Max Descubra el valor máximo dentro de una colección No aplica Agregado… en… en Max ()
Min Descubra el valor mínimo existente dentro de una colección No aplica Agregado… en… en min ()
Suma Descubra la suma de valores dentro de una colección No aplica Agregado ... en ... en suma ()

Operaciones cuantificadoras

Estos operadores devuelven un valor booleano, es decir, verdadero o falso cuando algunos o todos los elementos de una secuencia satisfacen una condición específica.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Todas Devuelve un valor 'Verdadero' si todos los elementos de una secuencia satisfacen una condición de predicado No aplica Agregar ... en ... en todos (...)
Ninguna Determina al buscar en una secuencia si algún elemento de la misma satisface una condición especificada No aplica Agregar ... en ... en cualquier ()
Contiene Devuelve un valor 'Verdadero' si encuentra que un elemento específico está allí en una secuencia si la secuencia no contiene ese elemento específico, se devuelve un valor 'falso' No aplica No aplica

Operadores de partición

Divida una secuencia de entrada en dos secciones separadas sin reorganizar los elementos de la secuencia y luego devolver uno de ellos.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Omitir Omite un número específico de elementos dentro de una secuencia y devuelve los restantes No aplica Omitir
SkipWhile Igual que el de Skip con la única excepción de que el número de elementos para omitir se especifica mediante una condición booleana No aplica Saltar mientras
Tomar Tome un número específico de elementos de una secuencia y omita los restantes No aplica Tomar
TakeWhile Igual que el de Take, excepto el hecho de que el número de elementos a tomar se especifica mediante una condición booleana No aplica Tómese un tiempo

Operaciones de generación

Los operadores generacionales crean una nueva secuencia de valores.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
DefaultIfEmpty Cuando se aplica a una secuencia vacía, genera un elemento predeterminado dentro de una secuencia No aplica No aplica
Vacío Devuelve una secuencia de valores vacía y es el operador generacional más simple No aplica No aplica
Rango Genera una colección que tiene una secuencia de enteros o números. No aplica No aplica
Repetir Genera una secuencia que contiene valores repetidos de una longitud específica. No aplica No aplica

Establecer operaciones

Hay cuatro operadores para las operaciones establecidas, cada uno de los cuales produce un resultado basado en diferentes criterios.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Distinto Da como resultado una lista de valores únicos de una colección al filtrar los datos duplicados, si los hay No aplica Distinto
Excepto Compara los valores de dos colecciones y devuelve los de una colección que no están en la otra colección No aplica No aplica
Intersecarse Devuelve el conjunto de valores encontrados t ser idénticos en dos colecciones separadas No aplica No aplica
Unión Combina el contenido de dos colecciones diferentes en una sola lista que también sin ningún contenido duplicado No aplica No aplica

Igualdad

Compara dos oraciones (enumerables) y determina si coinciden exactamente o no.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
SequenceEqual Da como resultado un valor booleano si se encuentra que dos secuencias son idénticas entre sí No aplica No aplica

Operadores de elementos

Excepto DefaultIfEmpty, los ocho operadores de elementos de consulta estándar restantes devuelven un solo elemento de una colección.

Mostrar ejemplos

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
ElementAt Devuelve un elemento presente dentro de un índice específico en una colección. No aplica No aplica
ElementAtOrDefault Igual que ElementAt excepto por el hecho de que también devuelve un valor predeterminado en caso de que el índice específico esté fuera de rango No aplica No aplica
primero Recupera el primer elemento dentro de una colección o el primer elemento que cumple una condición específica No aplica No aplica
Primero o predeterminado Igual que First, excepto el hecho de que también devuelve un valor predeterminado en caso de que no existan dichos elementos No aplica No aplica
Último Recupera el último elemento presente en una colección o el último elemento que cumple una condición específica No aplica No aplica
LastOrDefault Igual que Last, excepto el hecho de que también devuelve un valor predeterminado en caso de que no exista tal elemento No aplica No aplica
Soltero Devuelve el único elemento de una colección o el único elemento que cumple una determinada condición. No aplica No aplica
SingleOrDefault Igual que Single, excepto que también devuelve un valor predeterminado si no existe ningún elemento solitario. No aplica No aplica
DefaultIfEmpty Devuelve un valor predeterminado si la colección o lista está vacía o es nula No aplica No aplica