Queryable.Distinct Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan elemen yang berbeda dari urutan.
Overload
| Nama | Deskripsi |
|---|---|
| Distinct<TSource>(IQueryable<TSource>) |
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai. |
| Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) |
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan IEqualityComparer<T> tertentu untuk membandingkan nilai. |
Distinct<TSource>(IQueryable<TSource>)
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan perbandingan kesetaraan default untuk membandingkan nilai.
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)
Jenis parameter
- TSource
Jenis elemen source.
Parameter
- source
- IQueryable<TSource>
untuk IQueryable<T> menghapus duplikat dari.
Mengembalikan
Yang IQueryable<T> berisi elemen yang berbeda dari source.
Pengecualian
source adalah null.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Distinct<TSource>(IQueryable<TSource>) untuk mengembalikan elemen yang berbeda dari urutan.
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
Keterangan
Metode ini Distinct<TSource>(IQueryable<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Distinct<TSource>(IQueryable<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode yang diwakili IQueryProvider oleh Provider properti source parameter.
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Distinct<TSource>(IQueryable<TSource>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan urutan item unik yang tidak diurutkan di source.
Berlaku untuk
Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>)
Mengembalikan elemen yang berbeda dari urutan dengan menggunakan IEqualityComparer<T> tertentu untuk membandingkan nilai.
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);
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)
Jenis parameter
- TSource
Jenis elemen source.
Parameter
- source
- IQueryable<TSource>
untuk IQueryable<T> menghapus duplikat dari.
- comparer
- IEqualityComparer<TSource>
IEqualityComparer<T> Untuk membandingkan nilai.
Mengembalikan
Yang IQueryable<T> berisi elemen yang berbeda dari source.
Pengecualian
source atau comparer adalah null.
Keterangan
Metode ini Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) menghasilkan MethodCallExpression yang mewakili pemanggilan Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode yang diwakili IQueryProvider oleh Provider properti source parameter.
Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Distinct<TSource>(IQueryable<TSource>, IEqualityComparer<TSource>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan urutan item unik yang tidak diurutkan dengan source menggunakan comparer untuk membandingkan nilai.