Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Queryable.Distinct<TSource>(IQueryable<TSource>)

 

Data di pubblicazione: ottobre 2016

Restituisce elementi distinti da una sequenza utilizzando l'operatore di confronto di uguaglianza predefinito per confrontare i valori.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IQueryable<TSource> Distinct<TSource>(
	this IQueryable<TSource> source
)

Parametri

source
Type: System.Linq.IQueryable<TSource>

Il IQueryable<T> per rimuovere i duplicati.

Valore restituito

Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> che contiene elementi distinti da source.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source è null.

Il Distinct<TSource>(IQueryable<TSource>) metodo genera un MethodCallExpression che rappresenta una chiamata Distinct<TSource>(IQueryable<TSource>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata Distinct<TSource>(IQueryable<TSource>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che restituisce una sequenza non ordinata di elementi univoci in source.

Esempio di codice seguente viene illustrato come utilizzare Distinct<TSource>(IQueryable<TSource>) per restituire gli elementi distinti da una sequenza.

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
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: