Operaciones Set

Las operaciones de conjuntos (Set) de LINQ son operaciones de consulta que generan un conjunto de resultados que se basa en la presencia o ausencia de elementos equivalentes dentro de las mismas u otras colecciones (o conjuntos).

Los métodos de operador de consulta estándar que realizan operaciones de conjuntos se enumeran en la sección siguiente.

Métodos

Nombre del método

Descripción

Sintaxis de las expresiones de consulta de C#

Sintaxis de las expresiones de consulta de Visual Basic

Más información

Distinct

Quita los valores duplicados de una colección.

No es aplicable

Distinct

Enumerable.Distinct``1

Queryable.Distinct``1

Except

Devuelve la diferencia de conjuntos, es decir, los elementos de una colección que no aparecen en una segunda colección.

No es aplicable

No es aplicable

Enumerable.Except``1

Queryable.Except``1

Intersect

Devuelve la intersección de conjuntos, es decir, los elementos que aparecen en cada una de dos colecciones.

No es aplicable

No es aplicable

Enumerable.Intersect``1

Queryable.Intersect``1

Unión

Devuelve la unión de conjuntos, es decir, los elementos únicos que aparecen en cualquiera de las dos colecciones.

No es aplicable

No es aplicable

Enumerable.Union``1

Queryable.Union``1

Comparación de operaciones de conjuntos

Distinct

La ilustración siguiente muestra el comportamiento del método Enumerable.Distinct``1 en una secuencia de caracteres. La secuencia devuelta contiene los elementos únicos de la secuencia de entrada.

Gráfico mostrando el comportamiento de Distinct().

Except

La ilustración siguiente muestra el comportamiento de Enumerable.Except``1. La secuencia devuelta contiene sólo los elementos de la primera secuencia de entrada que no están en la segunda secuencia de entrada.

Gráfico mostrando la acción de Except().

Intersect

La ilustración siguiente muestra el comportamiento de Enumerable.Intersect``1. La secuencia devuelta contiene los elementos que son comunes a las dos secuencias de entrada.

Gráfico mostrando la intersección de dos secuencias.

Unión

La ilustración siguiente muestra una operación de unión de dos secuencias de caracteres. La secuencia devuelta contiene los elementos únicos de las dos secuencias de entrada.

Gráfico mostrando la unión de dos secuencias.

Ejemplo de sintaxis de expresiones de consulta

En el ejemplo siguiente se utiliza la cláusula Distinct (disponible sólo en Visual Basic) en una consulta LINQ para devolver los números únicos de una lista de enteros.

        Dim classGrades = New System.Collections.Generic.List(Of Integer) From {63, 68, 71, 75, 68, 92, 75}

        Dim distinctQuery = From grade In classGrades 
                            Select grade Distinct

        Dim sb As New System.Text.StringBuilder("The distinct grades are: ")
        For Each number As Integer In distinctQuery
            sb.Append(number & " ")
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' The distinct grades are: 63 68 71 75 92 

Vea también

Tareas

Cómo: Combinar y comparar colecciones de cadenas (LINQ)

Cómo: Buscar la diferencia de conjuntos entre dos listas (LINQ)

Referencia

Distinct (Cláusula, Visual Basic)

System.Linq

Conceptos

Información general sobre operadores de consulta estándar