Queryable.Distinct Método
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve diversos elementos de una secuencia.
Distinct<TSource>(IQueryable<TSource>) |
Devuelve diversos elementos de una secuencia utilizando el comparador de igualdad predeterminado para comparar los valores. |
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Devuelve diversos elementos de una secuencia utilizando un objeto IEqualityComparer<T> especificado para comparar los valores. |
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Devuelve diversos elementos de una secuencia utilizando el comparador de igualdad predeterminado para comparar los valores.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source);
static member Distinct : System.Linq.IQueryable<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource)) As IQueryable(Of TSource)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IQueryable<TSource>
IQueryable<T> del que se van a quitar los elementos duplicados.
Devoluciones
Una interfaz IQueryable<T> que contiene diversos elementos de source
.
Excepciones
source
es null
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Distinct<TSource>(IQueryable<TSource>) para devolver elementos distintos de una secuencia.
List<int> ages = new List<int> { 21, 46, 46, 55, 17, 21, 55, 55 };
IEnumerable<int> distinctAges = ages.AsQueryable().Distinct();
Console.WriteLine("Distinct ages:");
foreach (int age in distinctAges)
Console.WriteLine(age);
/*
This code produces the following output:
Distinct ages:
21
46
55
17
*/
Dim ages As List(Of Integer) = New List(Of Integer)(New Integer() {21, 46, 46, 55, 17, 21, 55, 55})
Dim distinctAges As IEnumerable(Of Integer) = ages.AsQueryable().Distinct()
Dim output As New System.Text.StringBuilder
output.AppendLine("Distinct ages:")
For Each age As Integer In distinctAges
output.AppendLine(age)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
'
' Distinct(ages)
' 21
' 46
' 55
' 17
Comentarios
El Distinct<TSource>(IQueryable<TSource>) método genera un MethodCallExpression objeto que representa llamarse Distinct<TSource>(IQueryable<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionCreateQuery<TElement>(Expression) método del IQueryProvider representado por la Provider propiedad del source
parámetro .
El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Distinct<TSource>(IQueryable<TSource>) depende de la implementación del tipo del source
parámetro. El comportamiento esperado es que devuelve una secuencia desordenada de los elementos únicos de source
.
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Devuelve diversos elementos de una secuencia utilizando un objeto IEqualityComparer<T> especificado para comparar los valores.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TSource> ^ Distinct(System::Linq::IQueryable<TSource> ^ source, System::Collections::Generic::IEqualityComparer<TSource> ^ comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource> comparer);
public static System.Linq.IQueryable<TSource> Distinct<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IEqualityComparer<TSource>? comparer);
static member Distinct : System.Linq.IQueryable<'Source> * System.Collections.Generic.IEqualityComparer<'Source> -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Distinct(Of TSource) (source As IQueryable(Of TSource), comparer As IEqualityComparer(Of TSource)) As IQueryable(Of TSource)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IQueryable<TSource>
IQueryable<T> del que se van a quitar los elementos duplicados.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> para comparar valores.
Devoluciones
Una interfaz IQueryable<T> que contiene diversos elementos de source
.
Excepciones
source
o comparer
es null
.
Comentarios
El Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) método genera un MethodCallExpression objeto que representa llamarse Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) a sí mismo como un método genérico construido. A continuación, pasa al MethodCallExpressionCreateQuery<TElement>(Expression) método del IQueryProvider representado por la Provider propiedad del source
parámetro .
El comportamiento de consulta que se produce como resultado de ejecutar un árbol de expresión que representa la llamada Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) depende de la implementación del tipo del source
parámetro. El comportamiento esperado es que devuelve una secuencia desordenada de los elementos únicos de source
mediante comparer
para comparar valores.
Se aplica a
.NET 9 y otras versiones
Producto | Versiones |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: