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 |
|
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 |
|
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 |
|
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 |
Comparación de operaciones de conjuntos
Distinct
La ilustración siguiente muestra el comportamiento del método Enumerable.Distinct en una secuencia de caracteres.La secuencia devuelta contiene los elementos únicos de la secuencia de entrada.
Except
La ilustración siguiente muestra el comportamiento de Enumerable.Except.La secuencia devuelta contiene sólo los elementos de la primera secuencia de entrada que no están en la segunda secuencia de entrada.
Intersect
La ilustración siguiente muestra el comportamiento de Enumerable.Intersect.La secuencia devuelta contiene los elementos que son comunes a las dos secuencias de entrada.
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.
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)